فرانت اند چیست؟
وقتی شما از یک نرمافزار حسابداری آنلاین استفاده میکنید، وارد وب سایت میشوید و شاهد یک محیط گرافیکی با گزارشهای متعدد و مجموعهای از ابزارها هستید. این بخش گرافیکی یعنی دقیقا قسمتی که کاربر نهایی با آن سروکار دارد اصطلاحا بخش Front End گفته میشود.
برنامه نویسان فرانت اند بدون درگیر شدن با بخشهای زیرساختی یک نرمافزار تلاش دارند تجربه خوشایندی را برای کاربران رقم بزنند و از این رو با مباحث مختلفی از جمله برنامه نویسی سمت کاربر (که در بخش وب عموما شامل HTML و CSS و JS میشوند)، مباحث تجربه کاربری و زیبایی شناختی، رابط کاربری و …آشنا هستند. البته هر کدام از این بخشها هم دانش و علم خود را میطلبد و گاها چندین نفر در هر کدام از این شاخهها فعالیت میکنند تا در نهایت یک رابط کاربری خوب را شکل دهند.
بک اند چیست؟
هر چه یک برنامه نویس از کاربر و رابط کاربری آن فاصله میگیرد به سمت بک اند گرایش پیدا میکند. در بخش بک اند بر خلاف بخش فرانت که برنامه نویسان باید ظاهر گرافیکی را برای کاربران ایجاد کنند، دولوپرها با دادهها، نحوه ذخیره و بازیابی دادهها، اعمال تغییرات روی آنها، تولید گزارشهای مناسب و… درگیر هستند.
در این بخش زبانها و ساختارهای برنامهنویسی متعددی مورد استفاده قرار میگیرد که از جمله آنها میتوان به زبانها و ساختارهای SQL، My SQL، پایتون، جاوا، ASP .NET اشاره کرد. در این بخش هم به دلیل گستردگی فعالیتها و مهارتهای مورد نیاز شاهد همکاری یک تیم از جمله تیم پایگاه داده و تیم برنامه نویسی Back End هستیم که همگی با یکدیگر در تلاش هستند تا زیرساخت مناسبی را برای برنامه فراهم کنند.
قضیه Full Stack دولوپر چیست؟
همانطور که گفتیم در دنیای برنامه نویسی از ساختارها، زبانها و ابزارهای بسیار متعددی استفاده میشود و طبیعتا همه افراد نمیتوانند به تمامی این موارد مسلط باشند. از این رو در ساخت یک برنامه ممکن است گاها یک تیم چند صد نفری با هم همکاری کنند تا یک برنامه را شکل دهند. اما لزوما در همه برنامه ها ما شاهد یک تیم گسترده نیستیم، به عنوان مثال شخصی که میخواهد یک سایت ساده طراحی کند عقلانی نیست که یک گروه از افراد را برای طراحی بخش بک و یک گروه را برای طراحی بخش فراند استخدام کند.
در این شرایط ما شاهد گروهی دیگر از برنامه نویسان هستیم که هم روی بخش Front و هم روی بخش Back مسلط هستند و تمامی فعالیتهای مرتبط با دو بخش را به شکل همزمان انجام میدهند. به این افراد اصطلاحا فول استک دولوپر گفته میشود.
چرا همیشه از فول استک ها استفاده نکنیم؟
دنیای برنامه نویسی دنیای بسیار گستردهای است و یک نفر نمیتواند به همه این دانشها مسلط باشد. در ساخت یک برنامه کوچک و ساده که تنها نیاز به دانش مرتبط با HTML و CSS در بخش فرانت و یک پایگاه داده ساده مانند My SQL در بخش ذخیره سازی و یک برنامه سمت سرور مانند PHP دارد ممکن است یک فرد این توانایی را داشته باشد که همه این موارد را بداند و در نتیجه خودش برنامه را از صفر تا صد طراحی کند. اما در پروژههای بزرگ ممکن است دیگر پایگاه داده My SQLجوابگو نباشد و لازم باشد از پایگاه داده تخصصی مانند Mongo DB استفاده شود. یا حتی در پروژههای بزرگ گاها از چندین زبان برنامه نویسی به طور همزمان برای ارتباط با سرور استفاده میشود که مهارت در همه این زبان ها کار سادهای نیست.
در چنین شرایطی لازم است به سراغ برنامه نویسان تخصصی برویم که صرفا روی یک حوزه خاص متمرکز شدهاند.
برای آگاهی بیشتر از دوره های برنامه نویسی به لینک زیر مراجعه کنید: