Full Stack چیست؟

زمان مورد نیاز برای مطالعه: ۴ دقیقه

3 اسفند 1399

نادیا آذری

قبل از آن که به توضیح Full stack چیست؟  بپردازیم، باید عنوان کنیم که برنامه نویسی یکی از مهم ترین شغل های حال حاضر است به دلیل آن که تمامی کارها و امور در هر جای دنیا با ساتفاده از کامپیوتر و موبایل انجام می شود و بسیار مهم است که افرادی برای نوشتن این برنامه ها وجود داشته باشند.

نرم افزار های بسیار زیادی وجود دارند که برنامه نویسان می توانند با استفاده از آن ها به نوشتن برنامه های مختلف بپردازند. در این مقاله به صورت کلی به بررسی full stack می پردازیم، بنابراین اگر می خواهید درباره این موضوع اطلاعات جامعی را به دست آورید، تا انتهای این مطلب با ما همراه باشید.

 

Full Stack چیست یا بهتر است بگوییم به چه کسی برنامه نویس فول استک میگویند؟

اگر بخواهید درباره‌ی Full Stack چیست؟ یا برنامه نویس Full Stack بدانید و به پاسخ سوال Full Stack چیست برسید، شما باید قبل از آن که با full stack آشنا شوید، با مفاهیم زیر آشنایی پیدا کنید:

  • Front end
  • Back end

می توانذ اذعان داشت که در دنیای طراحی وب،‌ واژه ای مثل Front End یا Back End ممکن است زیاد به گوش شما بخورد. همان گونه که می دانید، front به معنای جلو و back  به معنای پشت می باشد، پس می توان بیان کرد که طراحی یا کد نویسی هر آن چیزی که مربوط به جلوی وب سایت می شود، front end  می گویند .

در واقع یک طراح وب یا یک Front End Developer، کسی است که چیزی را طراحی می کند کاربر آن را می بیند. برنامه نویسی بک اند (   Back End) مربوط به کد نویسی و برنامه نویسی هر آن چیزی است که کاربر آن را مشاهده نمی کند و مربوط به کارهای پشت صحنه وب سایت می باشد.

 

همه چیز درباره برنامه نویس فول استک یا Full Stack Developer :

همانطور که گفتیم، در دنیای طراحی سایت،‌ گروهی از افراد هستند که چیزهایی که کاربر میبیند را طراحی و کدنویسی می کنند و گروهی دیگر هستند که روی پشت صحنه (Back End) متمرکز می شوند و کدهای سمت سرور را می نویسند.

جدای تمام از این برنامه نویسان یک گروه دیگر برنامه نویس نیز وجود دارد، که این گروه دیگر از برنامه نویسان ما را به پاسخ سوال Full Stack چیست؟ می‌رساند، این افراد کارهای گسترده بسیاری را انجام می دهند.

لازم به ذکر می باشد که در دنیای طراحی و برنامه نویسی وب، اشخاصی هستند که هم طراحی وب را انجام می دهند و هم به برنامه نویسی وب مسلط هستند و آن را به صورت کامل انجام خواهد داد. در واقع این افراد اشخاصی هستند که به تنهایی می توانند یک پروژه‌ی تقریبا بزرگ را به پایان برسانند. به این افراد برنامه نویس Full stack می گویند.

 

عبارت بالا شاید بتواند یک تعریف خیلی ساده برای برنامه نویس Full Stack باشد. برنامه نویس فول استک، همانطور که از واژه‌ی Full پیداست، همه مهارت‌های لازم برای انجام یک پروژه را دارد و می تواند به صورت کامل یک پروژه ( حتی پروژه های سخت ) را انجام دهد. به این معنا که:

  • یک برنامه نویس فول استک، می تواند به راحتی ظاهرهای بسیار خوبی را برای سرویس های آنلاین طراحی کند
  • یک برنامه نویس full stack هم چنین می تواند برنامه نویس سمت سرور خوبی نیز باشد.

 

برای آن که بدانید full stack چیست، به مثال زیر توجه فرمایید:

لازم است که بدانید،  وقتی قصد داریم تا یک سرویس آنلاین را طراحی و برنامه نویسی کنیم، حداقل به ۲ فرد نیاز داریم، که در زیر به آن ها اشاره می نماییم:

  • یک شخص که بتواند ظاهر سایت را با تکنولوژی هایی مثل HTML, CSS, Javascript و… طراحی کند.
  • و شخص دومی که بتواند کد های بک اند و سمت سرور را با زبانی مثل PHP بنویسد و به پایگاه داده (دیتابیس) متصل شود و اطلاعات را از دیتابیس بخواند و اطلاعات جدید را وارد آن کند.

همان گونه که بیان کردیم، هرکدام از این افراد، یک تخصص دارند و برای ساخت یک سایت، به ۲ فرد نیاز داریم.

اما در دنیای طراحی و برنامه نویسی وب اشخاصی هستند که به دلیل تجربه بالا در هرکدام از قسمت‌ های Front End و Back End، می توانند هر دو بخش ظاهر و سرور یک وب سایت را طراحی و برنامه نویسی کنند.

لازم به ذکر می باشد که برنامه نویسان Full Stack کسانی هستند که به تنهایی برای ساخت یک سرویس آنلاین خوب، کافی هستند و می توانند یک نفره یک پروژه‌ی تقریبا بزرگ را مدیریت کنند.

 

آیا می توان به یک برنامه نویس full stack  واقعی تبدیل شد؟

اما در پاسخ به سوال Full Stack چیست باید حواسمان به این نکته باشد که اگر مثلا ما می توانیم هم با HTML-CSS کد بزنیم و هم PHP می دانیم، به این معنا نیست که از الان می توانیم به خودمان یک برنامه نویس Full Stack بگوییم.

یک برنامه نویس Full Stack شخصی است که مدت زیادی درگیر طراحی وب بوده است و بعد از آن نیز مدت زیادی خود را درگیر برنامه نویسی وب با یک زبان برنامه نویسی سمت سرور کرده است و به تمام پیچ و خم ها و نکات هر ۲ دنیای طراحی سایت واقف است. بنابراین داشتن یک تجربه بالا در هر دو زمینه طراحی و کد نویسی می تواند شما را به یک برنامه نویس full stack تبدیل کند.

معمولا کسی می تواند یک برنامه نویس Full Stack باشد که چندین سال سابقه‌ی کار در هر ۲ زمینه‌ی طراحی وب و برنامه نویسی وب را داشته باشد و به این راحتی‌ها نمی تواند در همان چند ماه ابتدای برنامه نویس بودمان، به خودمان یک Full Stack Developer بگوییم.

علاوه بر این موضوع ، در پاسخ به سوال Full Stack چیست ، باید حواسمان به نکات بسیار مهم زیر باشد:

  • یک برنامه نویس Full Stack علاوه بر تسلط بر طراحی و برنامه نویسی وب، باید بتواند یک پیدا کننده‌ی مشکل حرفه‌ای (Debuger) باشد.
  • هم چنین باید توانایی بسیار خوبی در مدیریت سرور داشته باشد
  • این شخص باید از مدیریت پروژه نیز اندک اطلاعاتی داشته باشد.

صرفا دانستن HTML,CSS,PHP, MySQL نمی تواند شما را یک برنامه نویس Full Stack کند!

 

آیا Full Stack Developer ها همه کارِ و هیچ کارِ هستند؟

 

تا الان به یک پاسخ خوبی درباره‌ی سوال Full Stack چیست؟ رسیدیم. اما الان ممکن است این سوال برایتان پیش بیاید:

آیا می توان هم طراحی وب را انجام داد و هم به برنامه نویسی آن مسلط شد و در کنار آن کلی مهارت دیگر مثل کار و مدیریت سرور، مدیریت پروژه و… را نیز دارا بود؟

و شاید با خودتان فکر کنید که کسی که همه‌ی این چیزها را میداند، اصطلاحا اقیانوسی

به عمق ۱ سانتی متر است و درباره‌ی هرکدام از این مباحث یک دانش سطحی دارد.

در خصوص پاسخ به این سوال، باید چند نکته را بررسی کنیم:

Full Stack چیست؟ ، Full Stack کارها با تجربه هستند این نکته‌ی خیلی مهمی است که حتما باید آن ‌را در نظر بگیریم و حواسمان به آن باشد. برنامه نویسان Full Stack همانطور که گفتیم افراد بسیار با تجربه ای هستند و در هرکدام از زمینه های طراحی وب و برنامه نویسی وب، حداقل مدت ها (شاید چندین سال) فعالیت داشته اند.

لازم به ذکر می باشد که تعداد بسیاری از طراحان و برنامه نویسان وب که حرفه‌ای هستند و عمق داستان را می دانند، از این که خودشان را یک برنامه نویس Full Stack بخوانند می ترسند و از عنوان کردن این که «من یک برنامه نویس Full Stack هستم» ترس دارند.

به دلیل آن که تبدیل شدن به یک برنامه نویس Full Stack، کاری زمان بر و دشوار است و حاصل تجربیات چندین ساله‌ی شما خواهد بود.

پس به راحتی و صرفا به دلیل دانستن HTML, CSS, Javascript, PHP, MySQL و… نمیتوانید به خودتان یک برنامه نویس فول استک بگویید. ماجرا خیلی پیچیده تر از این حرف‌هاست

و اما در نهایت:

در پاسخ به سوال Full Stack چیست ، باید این را بپذیریم که نهایتا هر فرد، بالاخره در یکی از زمینه ‌های طراحی وب یا برنامه نویسی وب، قوی تر از آن یکی است. افراد بسیاری وجود دارند که برنامه نویس full stack  می باشند اما این افراد نیز در نهایت کار، در یکی از زمینه ‌ها قوی تر بوده‌اند. به این معنا که :

  • یا طراحان وب بهتری بودند، یعنی قسمت هنری مغزشان فعال‌تر بود و می توانستند رابط های کاربری ( UI) بسیار حرفه‌ای و چشم نوازی طراحی کنند.
  • یا برنامه نویسان سمت سرور فوق العاده‌ای بودند و بخش منطقی مغزشان فعال تر بوده است و می توانستند منطق‌ها و الگوریتم های بسیار پیچیده و کدهایی بسیار تمیز بنویسند.

یعنی هرچقدر فرد هم یک Full Stack Developer باشد،‌ باز هم در یکی از زمینه‌ های طراحی وب یا برنامه نویسی وب قوی تر است و یکی از نیم کره‌های مغز او بهتر کار می کند.

برای مثال ممکن است یک فرد یک برنامه نویس Full Stack باشد و هم طراحی وب فوق العاده ای انجام دهد و هم برنامه نویس سمت سرور بسیار خوبی باشد، اما نهایتا خود آن فرد هم می داند که در یکی از این زمینه‌ها حرفه‌ای تر و بهتر است.

 

مهارت‌های یک برنامه نویس فول استک (Full Stack)

لازم است تا بدانیم که یک برنامه نویس فول استک، چه مهارت‌ هایی باید داشته باشد. در ادامه‌ یک لیست بسیار ساده را میبینیم که یک برنامه نویس Full Stack باید به آن ‌هاسلط کامل داشته باشد و نیز تجربه‌ی بسیار خوبی در کار با هرکدام از آن‌ها داشته باشد تا بتواند یک Full Stack Developer واقعی باشد. از جمله مهارت های یک برنامه نویس full stack  می توان به موارد زیر اشاره داشت:

  • طراحی وب
  • طراحی رابط کاربری
  • برنامه نویسی وب
  • کار با پایگاه داده
  • هاست و سرور
  • توانایی کار با API ها
  • آشنایی با Version Controll System ها
  • توانایی مدیریت پروژه‌های نرم افزاری

با ما در سیف دیزاین همراه باشید.