یک پسزمینه کوچک: مدلT-Shaped
مدل T-Shaped مفهومی است که برای مدتی وجود داشته و تواناییها یا مشخصههای یک فرد را توصیف میکرد. یک شخص
T-Shaped ایدهآل، دارای مهارتهای کلی بسیاری با تخصص در یک یا چند حوزه خاص است.
یک توسعه دهنده وب full-stack یک نمونه عالی از این مدل است چرا که این توسعه دهنده، دانش کلی در یک گستره وسیع از فنآوریها و پلت فرمها و همچنین یک تجربه عمیق و تخصصی در چند مفهوم دارد. در اکثر موارد ، دو میدان عمومی وجود دارند که یک توسعه دهنده full-stack را تشکیل میدهند: توسعه front-end و توسعه back-end.
توسعه وب Front-End
مجموعه مهارت هایی است که شامل قسمت نمایش وب سایت شما است - این که چگونه اطلاعات در وب سایت شما در مرورگرها و دستگاههای تلفن همراه قرار داده میشود. یک توسعه دهنده front-end تجربه کار زیادی با HTML و CSS و نیز زبان برنامهنویسی اسکریپتی مثل جاوا اسکریپت خواهد داشت. با این زبانها، توسعه دهنده میتواند به طور موثر اطلاعات را در یک وب سایت دستکاری کرده و آن را جذاب و موثر کند.
هر چیزی که در یک وب سایت میبینید - چیدمان، موقعیت متن و تصاویر، رنگها، فونت ها، دکمهها و غیره - همگی عواملی هستند که توسعه دهنده front-end باید در نظربگیرد .
هدف اصلی یک توسعه دهنده fornt-end ایجاد پلتفرمی برای بازدید کنندگان برای تعامل با یک پلت فرم است که اطلاعات را تامین و دریافت میکند. این به این معنی است که برخی از توسعه دهندگان در طراحی وب خود از نرمافزارهایی مانند فتوشاپ و Illustrator برای ایجاد طرحهای گرافیکی و متنی استفاده میکنند.
مجموعه مهارت های اضافی یک توسعه دهنده font-end میتواند شامل طراحی تجربه کاربر و طراحی رابط کاربر باشد مهارت هایی که به یک تیم کمک میکند بهترین روشهای نمایش و جمعآوری اطلاعات را ارزیابی کند. یک توسعه دهنده fornt-end که دارای این مهارت طراحی است به طور بالقوه با ارزش تر است چون آنها میتوانند ظاهر و احساس یک سایت را تشخیص دهند در حالی که توانمندیهای تکنیکی این طرح را در عین حال ارزیابی میکنند. اگرچه این مجموعه مهارت های اضافی ممکن است برای توسعه دهنده مفید باشند، اما قطعا یک الزام برای این کار نیستند، و شرکتهای بیشتری دنبال استخدام طراحان UX هستند تا صرفا بر روی این جنبه از توسعه وب سایت متمرکز شوند.
توسعه وب Back-End
ایجاد، ویرایش / به روزرسانی و یادآوری دادهها برخی از فرایندهایی هستند که اغلب با توسعه Back-End مرتبط هستند. چند مثال از زبانهای برنامهنویسی رایج مورد استفاده عبارتند از PHP، Ruby، و Python. با این زبانها، یک توسعه دهنده Back-End میتواند الگوریتمها و منطق ایجاد کند تا دادههای دریافتی در توسعه نهایی را دستکاری کند.
این به این معنی است که یک توسعه دهنده Back-End باید قادر به نوشتن کد برای دریافت اطلاعات ورودی از کاربر و همچنین ذخیره آن در جایی مانند یک پایگاهداده باشد. دو نوع اصلی پایگاهداده وجود دارد: رابطهای ( مانند PostgreSQL و MySQL ) و سیستمهای مدیریت غیر رابطهای ( مانند Mongo ). زبان مورد استفاده برای مدیریت پایگاهداده SQL است که به توسعه دهنده با پایگاهداده کمک میکند.
مفاهیم ممکن است بیگانه به نظر برسند ، اما فقط درک کنید که سیستمهای مدیریت پایگاهداده متفاوتی براساس راحتی و استفاده وجود دارند.
مولفه دیگر توسعه Back-End ، مدیریت سرور است، که نرمافزارهایی هستند که میزبان پایگاهداده هستند و به وب سایت خدماترسانی میکنند. یک راه دیگر برای دانستن چگونگی مدیریت سرورها، استفاده از سکوهای مبتنی بر ابر است که زیرساخت، مانند Heroku یا سرویسهای وب سایت آمازون را تامین میکنند.
درک مدیریت سرور به یک توسعه دهنده اجازه میدهد تا کندی یک اپلیکیشن را عیب یابی کند و حتی مشخص کند که وب سایتهای آنها چقدر مقیاس پذیری دارد برای افزودن کابران بیشتر.
توسعه دهنده وب Full-Stack
توسعه دهندگان full-stack ، متخصصان هر دو عنوان front-end و back-end هستند؛ و انبوهی از فنآوری که وب سایت را تشکیل میدهند. آنها در هر دو زبان fornt-end و back-end و هم در سرور، شبکه و محیطهای هاست مهارت دارند. برای رسیدن به این وسعت و عمق دانش، بسیاری از توسعه دهندگان full-stack، سالها وقت خود را صرف کار در انواع نقشهای مختلف خواهند کرد. آنها همچنین تمایل دارند که در هر دو منطق تجاری و تجربه کاربر تبحر داشته باشند، به این معنی که آنها نه تنها مجهز به تجهیزات مناسب هستند بلکه میتوانند مشاوره بدهند و استراتژی های مختلفی را ارائه کنند.
یادداشتی بر Framework ها
به جای اینکه نیاز به توسعه کد اختصاصی پیچیده در هر زمان برای ایجاد وب سایتهای مختلف داشته باشیم ، framework ها به منابع عمومی ای تبدیل شدهاند که بسیاری از فرایندها را کارآمدتر و راحتتر میکنند. کتابخانههایی مانند jQuery برای توسعه دهندگان front-end ای که ازJavascript استفاده می کنند بسیار محبوب هستند، چرا که آنها میتوانند عملکردهای مختلفی را اجرا کنند که توسعه دهندگان دیگر قبلا توسعه داده و مورد آزمایش قرار گرفتهاند.
frameworkهای Javascript مانند AngularJS و EmberJS بسیاری از چالشهایی را که توسط توسعه دهندگان front-end با آنها مواجه هستند را حل میکنند که به راحتی میتوانند در هر وب سایتی اجرا شوند.
بر روی backend، framework هایی نظیر Rails برای زبان برنامهنویسی Ruby، Django برای Python و CakePHP برای کار با PHP وجود دارند.
هدف اصلی از framework ها، آسان تر کردن کار برنامه نویسان با توسعه مجموعهای از (conventions) کنوانسیونهای مختلف است که میتوانند برای بسیاری از فرآیندهای مختلف در ایجاد یک وب سایت - از چگونگی ذخیره و دسترسی به پایگاهداده، اتخاذ شوند.
چرا یک توسعه دهنده full-stack شوید؟
با توجه به انتخاب تخصص در توسعه front-end یا back-end، چرا هر توسعه دهنده تصمیم میگیرد طیف کامل را یاد بگیرد؟
آن به ارزش یک فرد T-Shaped بر میگردد. زمانی که میتوانید هر دو جنبه فرآیند توسعه وب را بررسی و در مورد آن بحث و تبادل نظر کنید، برای یک تیم ارزشمندتر هستید.
به عبارت دیگر، یک توسعه دهنده که میتواند به آسانی ارزیابی کند و ارتباط برقرار کند که یک وبسایت چگونه باید به نظر رسد، احساس میکند، و اطلاعات را دستکاری میکند در حالی که درک محدودیتهای فنی این پیادهسازی را دارد یک عضو محترم و ارزشمند از هر تیم یا شرکت خواهد بود.
چگونه به یک توسعه دهنده full-stack تبدیل شویم؟
برای تبدیل شدن به یک توسعه دهنده full-stack، باید چند سال تجربه در صنعت را به دست آورید. شما باید هم زبانهای front-end و back-end را یاد بگیرید، همچنین ورودی و خروجی یک پایگاه داده و محل های ذخیره سازی. در حقیقت، شما نمیتوانید تنها برای تبدیل شدن به یک توسعه دهنده full-stack ، مطالعه کنید؛ همه چیز در مورد یادگیری مداوم و کسب تجربه زیادی است که شما میتوانید در هر front-end و back-end داشته باشید.
طراحی اپلیکیشن اندروید | طراحی وب سایت | شرکت ایده پردازان پاراکس