آشنایی با برنامه نویس فول استک
برنامه نویس فول استک کیست؟
اگر بخواهید دربارهی Full Stack یا برنامه نویس فول استک بدانید و به پاسخ سوال Full Stack چیست برسید، خیلی خوب است که قبل از آن، با فرانت اند و بک اند آشنایی داشته باشید. پیشنهاد میکنیم اگر با این مباحث آشنایی ندارید، حتما مقالات زیر را مطالعه کنید:
در زیر به طور مختصر و جهت یادآوری به شرح توسعه دهنده فرانت اند و بک اند می پردازیم:
توسعه دهنده Back End کسی است که فناوری لازم برای راه اندازی مولفه ها را ایجاد می کند. کدهایی که توسعه دهنده آن ها را در بک اند ایجاد می کند برای تمام مولفه هایی که یک توسعه دهنده Front-End ایجاد میکند توابع کاربردی و مفیدی را اضافه می نماید.
توسعه دهندگان بک اند وظیفه ی ایجاد، نگهداری، آزمایش و اشکال زدایی تمام قسمت های Back-End را بر عهده دارند و این موارد شامل منطق برنامه مرکزی، پایگاه داده ها، ادغام برنامه ها، API ها و دیگر فرایند های بخش Back-End می باشد.
توسعه دهنده Back End چه کاری را انجام می دهد؟
? قسمت Back-End یک وبسایت را اجرا می کند به طوری که کاربر عادی امکان مشاهده آن را نخواهد داشت. این قسمت همواره در پس زمینه در حال اجرا می باشد و عملگرهایی مشابه دسکتاپ را ارائه می دهد.
? توسعه دهنده Back End نقش مهمی را در تیم های طراحی وب ایفا می کنند و یکی از مهمترین وظایف آنها اطمینان به پایش ارتباط بین داده های دریافتی و ارسالی از رابط کاربری با نرم افزار سیستمی می باشد.
? قسمت Back-End متشکل از بانک اطلاعاتی و نرم افزار می باشد که بر روی سروری پیاده می گردد. این نرم افزارها می توانند بر روی سرورهای وب از نوع ابری یا هیبرید و یا هردو اجرا شوند.
? به منظور برقراری ارتباط بین سرور، برنامه و بانک اطلاعاتی توسعه دهندگان بک اند از زبان های برنامه نویسی نظیر PHP،RUBY ،PYTHON ،JAVA و .NET برای نوشتن برنامه ها استفاده کرده و از بانکهای اطلاعاتی ORACLE ،MYSQL و SQL Server به عنوان پایگاه داده برای ذخیره و یا تغییر داده ها از سمت رابط کاربری بهره می گیرند.
توسعه دهنده فرانت اند
✍? توسعه دهنده Front End فردی است که طراحی های وب را از طریق زبان های برنامه نویسی همچون HTML, CSS و جاوا اسکریپت اجرا می کند. توسعه دهنده Front End گاهی اوقات توسعه دهنده سمت کلاینت هم نامیده می شود تا از توسعه دهنده بک اند متمایز گردد. اگر به سایتی سر بزنید می توانید کار توسعه دهنده Front End را هر جایی در ناوبری، طرح ها و سایر موارد ببینید.
✍? فرانت اند یا Front End ، به قسمت قابل مشاهده وب سایت (نرم افزار) توسط کاربران میگویند. فرانت اند کدهای غیر قابل فهم برای کاربران را در قالب ظاهری گرافیکی و بصری به آنها نمایش میدهد . به اینصورت کاربران می توانند به راحتی از بخشهای مختلف سایت استفاده کنند.
✍? در این بخش فرمهای ورودی اطلاعات، صداها، تصاویر، ویدیوها و به صورت کلی هر چیز دیگری که برای کاربر قابل درک باشد، قرار میگیرد. فرانت اند به دو بخش اصلی طراحی وب و توسعه رابط کاربری تقسیم میشود.
✍? در بخش طراحی وب، طراحان با نرم افزارهای گرافیکی مانند فتوشاپ ظاهر سایت را طراحی میکنند. اما بخش توسعه رابط کاربری مربوط به پیاده سازی ظاهر سایت در قالب کدهای HTML ،CSS و Java script است. زبانهای برنامه نویسی که در فرانت به کار میروند، سمت کاربر یا Client Side میباشند.
✍? بنابراین کدهای نوشته شده در فرانت در مرورگر کاربر پردازش و اجرا میشوند. یعنی کاربر به راحتی به این کدها دسترسی مستقیم دارد و میتواند آنها را مشاهده کند. فرانت اند با بخش بک اند (Backend) در ارتباط مستقیم است . فرانت اند تاثیر بسیاری بر روی تجربه کاربری (UX) دارد.
بعد از مطالعه و مشاهدهی مطالب بالا، حالا میتوانید ادامهی این مطلب را مطالعه بفرمایید.
همه چیز درباره برنامه نویس فول استک یا Full Stack Developer
همانطور که گفتیم، در دنیای طراحی سایت، گروهی از افراد هستند که چیزهایی که کاربر میبیند را طراحی و کدنویسی میکنند و گروهی دیگر هستند که روی پشت صحنه (Back End) متمرکز میشوند و کدهای سمت سرور را مینویسند.
اما یک گروه دیگر نیز از برنامه نویسان سمت وب وجود دارد که مارا به پاسخ سوال Full Stack چیست میرساند:
در دنیای طراحی و برنامه نویسی وب، اشخاصی هستند که هم طراحی وب را انجام میدهند و هم به برنامه نویسی وب مسلط هستند. در واقع این افراد اشخاصی هستند که به تنهایی میتوانند یک پروژهی تقریبا بزرگ را به پایان برسانند. به این افراد برنامه نویس Full Stack میگویند.
عبارت بالا شاید بتواند یک تعریف خیلی ساده برای برنامه نویس Full Stack باشد. برنامه نویس فول استک، همانطور که از واژهی Full پیداست، همه مهارتهای لازم برای انجام یک پروژه را دارد. به این معنا که:
یک برنامه نویس فول استک، هم میتواند ظاهرهای بسیار خوبی را برای سرویس های آنلاین طراحی کند و هم میتواند برنامه نویس سمت سرور خوبی باشد.
یک مثال برای جواب دادن به سوال Full Stack چیست
وقتی میخوایم یک سرویس آنلاین را طراحی و برنامه نویسی کنیم، حداقل به ۲ فرد نیاز داریم:
یک شخص که بتواند ظاهر سایت را با تکنولوژی هایی مثل HTML, CSS, Javascript و… طراحی کند.
و شخص دومی که بتواند کدهای بک اند و سمت سرور را با زبانی مثل PHP بنویسد و به پایگاه داده (دیتابیس) متصل شود و اطلاعات را از دیتابیس بخواند و اطلاعات جدید را وارد آن کند.
همانطور که گفتیم، هرکدام از این افراد، یک تخصص دارند و برای ساخت یک سایت، به ۲ فرد نیاز داریم.
اما در دنیای طراحی و برنامه نویسی وب اشخاصی هستند که به دلیل تجربه بالا در هرکدام از قسمتهای Front End و Back End، میتوانند هر دو بخش ظاهر و سرور یک وبسایت را طراحی و برنامه نویسی کنند. برنامه نویسان Full Stack کسانی هستند که به تنهایی برای ساخت یک سرویس آنلاین خوب، کافی هستند و میتوانند یک نفره یک پروژهی تقریبا بزرگ را مدیریت کنند.
آیا واقعا میتوان یک برنامه نویس فول استک واقعی بود؟
اما در پاسخ به سوال Full Stack چیست باید حواسمان به این نکته باشد که اگر مثلا ما میتوانیم هم با HTML-CSS کد بزنیم و هم PHP میدانیم، به این معنا نیست که از الان میتوانیم به خودمان یک Full Stack بگوییم.
یک برنامه نویس Full Stack شخصی است که مدت زیادی درگیر طراحی وب بوده است. و بعد از آن نیز مدت زیادی خود را درگیر برنامه نویسی وب با یک زبان برنامه نویسی سمت سرور کرده است و به تمام پیچ و خم ها و نکات هر ۲ دنیای طراحی سایت واقف است.
معمولی کسی میتواند یک برنامه نویس Full Stack باشد که چندین سال سابقهی کار در هر ۲ زمینهی طراحی وب و برنامه نویسی وب را داشته باشد و به این راحتیها نمیتوان در همان چند ماه ابتدای برنامه نویس بودمان، به خودمان یک Full Stack Developer بگوییم.
علاوه بر این، در پاسخ به سوال Full Stack چیست ، باید حواسمان به این نکته هم باشد:
یک برنامه نویس Full Stack علاوه از تسلط بر طراحی و برنامه نویسی وب، باید بتواند یک پیدا کنندهی مشکل حرفهای (Debuger) باشد. همچنین باید توانایی بسیار خوبی در مدیریت سرور داشته باشد و همچنین از مدیریت پروژه نیز اندکی بداند. صرفا دانستن HTML,CSS,PHP, MySQL نمیتواند شما را یک برنامه نویس Full Stack کند!
Full Stack کارها با تجربه هستند
این نکتهی خیلی مهمی است که حتما باید آنرا در نظر بگیریم و حواسمان به آن باشد. برنامه نویسان Full Stack همانطور که گفتیم افراد بسیار با تجربه ای هستند . و در هرکدام از زمینه های طراحی وب و برنامه نویسی وب، حداقل مدت ها (شاید چندین سال) فعالیت داشته اند.
بسیاری از طراحان و برنامه نویسان وب که حرفهای هستند و عمق داستان را میدانند، از اینکه خودشان را یک برنامه نویس Full Stack بخوانند میترسند. و از عنوان کردن اینکه «من یک برنامه نویس Full Stack هستم» ترس دارند. زیرا تبدیل شدن به یک برنامه نویس Full Stack، کاری زمان بر است. و حاصل تجربیات چندین سالهی شما خواهد بود.
پس به راحتی و صرفا به دلیل دانستن HTML, CSS, Javascript, PHP, MySQL و… نمیتوانید به خودتان یک برنامه نویس فول استک بگویید. ماجرا خیلی پیچیده تر از این حرفهاست.
مهارتهای یک برنامه نویس فول استک (Full Stack)
در پاسخ به سوال Full Stack چیست ، خیلی خوب است که بدانیم یک برنامه نویس فول استک، چه مهارتهایی باید داشته باشد. در ادامه یک لیست بسیار ساده را میبینیم که یک برنامه نویس Full Stack باید به آنها تسلط کامل داشته باشد. و نیز تجربهی بسیار خوبی در کار با هرکدام از آنها داشته باشد. تا بتواند یک Full Stack Developer واقعی باشد.
- طراحی وب
- طراحی رابط کاربری
- برنامه نویسی وب
- کار با پایگاه داده
- هاست و سرور
- توانایی کار با API ها
- آشنایی با Version Controll System ها
- توانایی مدیریت پروژههای نرم افزاری
چگونه به یک توسعه دهنده full-stack تبدیل شویم؟
برای تبدیل شدن به یک توسعه دهنده full-stack، باید چند سال تجربه در صنعت را به دست آورید. شما باید هم زبانهای front-end و back-end را یاد بگیرید. همچنین ورودی و خروجی یک پایگاه داده و محل های ذخیره سازی. در حقیقت، شما نمیتوانید تنها برای تبدیل شدن به یک توسعه دهنده full-stack ، مطالعه کنید. همه چیز در مورد یادگیری مداوم و کسب تجربه زیادی است که شما میتوانید در هر front-end وback-end داشته باشید.
دیدگاهتان را بنویسید