توسعه وب کار جذاب و پرطرفداری است اما لزوما کار راحتی نیست.
برای ایجاد یک وب سایت نیاز به همکاری دو بخش مجزا است، فرانت اند (Front End) که زیبایی ظاهری سایت را به انجام میرساند
و بکاند (Back End) که عهده دار کارهای پشت صحنه وب سایت است.
در واقع با بک اند، موتور متحرک یک سایت، طراحی و ساخته میشود.
"طراح سایت"، منظور هم افرادی است که با فوتوشاپ و نرم افزارهای گرافیکی مشابه کار می کنند
و هم افرادی که آن طرح ها را به کد های HTML، CSS، جاوا اسکریپت و JQuery بدل می کنند.
تمام چیزی که شما در یک وب سایت می بینید، مجموعه ای است از HTML، CSS و جاوا اسکریپت که تماما با مرورگر وب شما کنترل می شوند. مانند صفحات، منو ها، دکمه ها، فونتها، فرم های تماس و ... .
فرانت اند"Frontend" چیست؟
زمانی که در مورد فرانت اند "Frontend" وب صحبت می کنیم، منظور آن بخشی است که قابل دیدن است
و با آن تعامل می کنیم. فرانت اند "Frontend" معمولا از دو بخش تشکیل می شود: طراحی سایت و توسعه فرانت اند وب.
در گذشته اگر کسی از توسعه صحبت می کرد، عموما مربوط به بک اند "Backend" بود
اما در چند سال گذشته این موضوع بسیار تغییر کرده است و نیاز داریم میان کسی که سایت را در نرم افزاری مانند فوتوشاپ طراحی می کند و کسی که آنها را تبدیل به کد های HTML و CSS می کند، تفاوت بگذاریم.
این موضوع زمانی که طراحان به سوی استفاده از جاوا اسکریپ و JQuery روی آوردند بسیار جدی تر شد.
بک اند" Backend "چیست؟
Backend یا بک اند، به بخشی از یک وب سایت یا نرم افزار میگویند که برای کاربران قابل مشاهده نیست.
به عبارتی دیگر هسته و مغز یک سایت است که وظیفه کنترل منطق آن را بر عهده دارد.
سایتهای دینامیک به برنامه نویس بک اند نیاز دارند تا منطق سایت را به وسیله زبانهای برنامه نویسی پیادهسازی کنند.
کاربران به کدهای نوشتهشده در بک اند دسترسی ندارند و نمی توانند آنها را مشاهده کنند.
این بخش از سایت مانند قسمتی از کوه یخ است که در زیر سطح آب قرار گرفته است.
سمت سرور با بخش سمت کاربر ارتباط مستقیم دارد و به اجزایی که در رابط کاربری طراحی شدهاند جان میبخشد. برنامه نویس بک اند باید اطلاعات را متناسب با اهداف مختلف از پایگاهداده دریافت کند
و در صورت نیاز پس از پردازش به کاربر نمایش دهد. بنابراین Backend از دو بخش منطق سایت و پایگاه داده تشکیل شده است.
برنامه نویسان این حوزه باید با زبانها و تکنولوژیهای مختلف سمت سرور مانند:
• Java
• PHP
• Python
• SQL
• #C
و .net آشنایی داشته باشند.
درآمد برنامه نویسان Back-End
زبان Java در سالهای اخیر توانسته برای برنامه نویسان آمریکایی درآمد سالیانه حدود ۹۰ هزار دلار به همراه داشته باشد.
در ایران درآمد برنامه نویسان مبلغ ثابت و مشخصی ندارد اما معمولا برنامه نویسان ارشد جاوا با توجه به نوع پروژه و مسئولیتی که دارند ممکن است درآمد ماهانه بین ۴ تا ۸ میلیون تومان داشته باشند.
در آمریکا درآمد سالیانه توسعه دهندگان PHP حدود ۸۰ هزار دلار در سال است و در ایران نیز میانگین حقوق ماهیانه ۴ میلیون تومان گزارش شده است.
همچنین درآمد سالیانه Python در آمریکا حدود ۹۰ هزار دلار و در ایران ماهیانه بین ۳ تا ۵ میلیون تومان اعلام شده است.
درآمد سالیانه SQL در آمریکا حدود ۹۵ هزار دلار و در ایران ماهیانه حدود ۳ تا ۵ میلیون تومان است.
البته که درآمد برنامه نویسان در ایران تقریبا نامشخص است و شما وابسته به سطح توانایی و نوع سازمان و پروژه ممکن
است درآمدی متفاوت با آنچه گفته شد، کسب کنید.
فریمورکهای محبوب توسعه بکاند
فریمورک یک چارچوب برنامه نویسی است که از مجموعه ای از کتابخانهها و قوانین تشکیل شده است
و برنامه نویس را قادر میسازد با کد نویسی کمتر، بهترین نتیجه را به دست آورد.
بیشتر فریمورکها از الگوی معماری نرم افزار Model–view–controller یا به اختصار MVC استفاده میکنند.
در توسعه بک اند فریمورکهای قدرتمند و متنوعی وجود دارد که در ادامه با تعدادی از آنها آشنا میشوید.
لاراول
یک فریمورک توسعه وب و با زبان PHP نوشته شده است.
این فریمورک ساختار زبانی عالی که از معماری MVC استفاده میکند.
Laravel تلاش میکند با کاهش کارهایی مانند تایید اعتبار، مسیریابی، نشستها
و ذخیره سازی که در اکثر پروژههای وب انجام میشود، توسعه وب را سادهتر کند.
انتخاب این فریمورک برای توسعه وب در بین برنامه نویسان رو به افزایش است
و همین باعث شده که لاراول از انجمنهای پشتیبان آنلاین خوبی برخوردار باشد که
در صورت رخ دادن هرگونه مشکلی میتواند کمک حال بسیار خوبی برای توسعه دهندگان باشد.
جنگو (Django)
یه فریمورک تحت زبان پایتون است که با از فلسفه batteries included پیروی میکند.
این بدان معنی است که جنگو میتواند پاسخگوی همه نیازهای برنامه نویسان باشد.
به این ترتیب نیاز به استفاده از ماژولهای خارج از چارچوب ندارد.
جنگو برای ساخت برنامههای بزرگ استفاده میشود و برای ساخت برنامههای
خیلی کوچک انتخاب مناسبی نیست، به همان علتی که هیچکس برای انتقال دو نفر مسافر، یک اتوبوس کرایه نمیکند
استفاده کردن از امکانات بیشمار جنگو برای کارهای کوچک، کار بیهوده ای است.
جنگو روشها و ابزارهایی را به توسعه دهندگان ارائه میدهد تا بتوانند یک سایت ایمن و بی نقص را طراحی کنند.
Disqus ، Mozilla ، National Geographic ، Pinterest و Instagram چند مورد از وب سایتهای بزرگی هستند که با
استفاده از جنگو ساخته شده اند.
فونیکس (Phoenix)
Phoenix یک فریمورک مدرن برای توسعه بک اند است که با استفاده از زبان برنامه نویسی الیکسیر نوشته شده است.
این فریمورک با ماشین مجازی ارلانگ (Erlang’s Virtual Machine) کار کرده و از معماری MVC پیروی میکند.
با توجه به اینکه الیکسیر یک زبان کاربردی است، ممکن است به اندازه زبانهای شی گرا محبوب نباشد
اما برای ساختن برنامههای کاربردی مقیاس پذیر و پایدار و بهره وری در سطح بالایی قرار دارد.
فونیکس به لطف الیکسیر و ویژگی مانند concurrency به شما این امکان را میدهد که برنامههای بهینه طراحی کنید.
اگر میخواهید یک برنامهنویس شوید و به توسعه بک اند یا هر هر حوزه دیگری مشغول شوید اجازه ندهید حرفهای دست و پا شکسته، شما را بترساند.به یاد داشته باشید که یک متخصص در هر چیزی، یک روزی مبتدی بوده است. فقط با تمرین و پشتکار میتوانید روزی یک متخصص بک اند شوید.