برنامه نویسی Back end چیست؟ — از صفر تا بازار کار بک اند
از آنجا که در دنیای اینترنت امروزی، بیشتر فعالیتها در فضای مجازی و وب سایتها انجام میشود، طراحی و ساخت وب سایت از اهمیت بالایی برخوردار است. برنامه نویسی بک اند یا همان «Back end» به توسعه «برنامه نویسی سمت سرور» (Server Side Programming) اشاره دارد؛ به عبارت دیگر میتوان گفت که بر روش عملکرد وب سایت تمرکز دارد. کدهای نوشته شده توسط توسعه دهندگان Back end ارتباط اطلاعات پایگاه داده را با مرورگر برقرار میکنند. در این مطلب به طور جامع و از صفر به این سوال پاسخ داده شده است که برنامه نویسی Back end چیست و همه مسائل مرتبط با آن از جمله، روش عملکرد، بازار کار و سایر موارد بررسی میشوند.
برنامه نویسی Back end چیست ؟
فعالیتهای توسعه وبی که در پشت ساخت یک برنامه ایجاد شدهاند، به عنوان برنامه نویسی Back end شناخته میشوند. ایجاد بروزرسانیها و تغییرات بعلاوه نظارت بر عملکرد وب سایت از مسئولیتهای اصلی در برنامه نویسی Back end به حساب میآیند. این نوع از برنامه نویسی معمولاً شامل سه بخش سرور، برنامه و پایگاه داده است. برنامه نویسی Back end، منطق، فعالیتها و یکپارچهسازی برنامههای سمت سرور از جمله نوشتن APIها، ایجاد کتابخانهها و کار کردن با مؤلفههای سیستمها را پوشش میدهد.
در مقابل آن توسعه Front end، روی مدیریت و توسعه ظاهر خدمات، برنامهها و وب سایت تمرکز دارد. برنامه نویسان بک اند برنامههایی برای ایجاد ارتباط بین پایگاه داده و برنامه مینویسند و از بک اند وب سایت یعنی پایگاه داده، سرورها، برنامهها و هر چیزی نگهداری میکنند که در ظاهر وب سایت دیده نمیشود. به برنامه نویسان Back end معمولاً میتوان برنامه نویس یا توسعه دهنده وب نیز گفت؛ همانطور که به برنامه نویسان فرانتاند هم برنامه نویس وب گفته میشود.
رایجترین مثالی که برای برنامه نویسی Back end میتوان در نظر گرفت این است که زمانی که در یک وب سایت فرد در حال خواندن مقالهای باشد، فونت نوشتهها، رنگ و طراحیهای موجود در وب سایت نشاندهنده بخش برنامه نویسی Front end هستند، در حالی که، محتوای نوشتهها و سایر دادههای مورد استفاده در آن وب سایت که روی پایگاه داده ذخیره شدهاند و از طریق سرور در دسترس قرار میگیرند مربوط به بک اند سایت میشود.
سرور دقیقاً مثل همان کامپیوتر شخصی است که کاربران برای باز کردن سایت از آن استفاده میکنند، با این تفاوت که سرور تنها برای انجام وظیفههای مشخصی به کار میرود و بنابراین ابزارهای اضافی از جمله ماوس یا صفحه کلید از آن حذف شدهاند و میتواند با هزاران کامپیوتر دیگر در «انبار داده» (Data Warehouse) ارتباط داشته باشد. Back end در نقطه مقابل Front End قرار میگیرد. میتوان گفت بک اند «لایه دسترسی به دادهها» (Data Access Layer) به حساب میآید. در حالی که، فرانت اند «لایه نمایش» (Presentation Layer) محسوب میشود.
بیشتر وب سایتهای امروزی «پویا» (Dynamic) هستند، یعنی محتوای صفحه وب در زمان اجرا تولید میشود. صفحههای پویا شامل یک یا بیش از یک اسکریپت هستند که این اسکریپتها با هر بار دسترسی به آن صفحهها روی وبسرور اجرا خواهند شد. همه آنچه که پیش از نمایش صفحه در مرورگر رخ میدهد، بخشی از Back End محسوب میشود. در ادامه مطلب «برنامه نویسی Back end چیست» تفاوت بین برنامه نویسی Back end و Front end به طور جامع مورد بررسی قرار میگیرد.
تفاوت برنامه نویسی Front end و Back End چیست؟
برنامه نویسی Back end و Front end دو اصطلاحی هستند که توسط برنامه نویسان و متخصصین کامپیوتر برای توصیف ساخت لایههای سخت افزار، برنامههای کامپیوتر یا یک وب سایت استفاده میشوند. میزان دسترسی کاربر میتواند مشخص کند که یک رویکرد نشاندهنده برنامه نویسی بک اند یا فرانت اند است. کاربر میتواند به عنوان یک موجودیت، انسان یا ابزار دیجیتالی باشد. بخش بک اند یک برنامه در دسترس کاربران نیست. بیشتر دادهها و سینتکسهای عملیاتی در بخش بک اند سیستمهای کامپیوتر ذخیره میشوند. معمولاً کدهای توسعه وب از یک یا چند زبان برنامه نویسی تشکیل شدهاند.
همچنین، برنامه نویسی Back end لایه دسترسی داده نرم افزار یا سخت افزار را فراخوانی میکند و شامل هر فعالیتی است که نیاز به دسترسی و هدایت با ابزارهای دیجیتال داشته باشد. این لایه مورد نیاز، با برنامه نویسی Front end ایجاد میشود و شامل همه نرم افزارها و سخت افزارهایی است که «واسط کاربری» (User Interface | UI) انسانی یا دیجیتالی با جنبههای مختلف بیرونی یک برنامه به صورت مستقیم تعامل دارند. از جمله برخی از این جنبهها در برنامه نویسی فرانت اند میتوان به دادههای وارد شده توسط کاربر، وب سایتها و برنامههای دیگر، کلیدها و سایر ویژگیها پرداخت.
معمولاً بیشتر این ویژگیها توسط متخصصین «تجربه کاربری» (User Experience | UX) طوری طراحی میشوند که در دسترس، آسان و جذاب باشند. اپلیکیشنها و برنامههای بک اند با خدمات کاربری فرانت اند پشتیبانی میشوند و ارتباط بین کاربر و منابع مورد نیاز برنامه را فراهم میکنند. برنامههای بک اند ممکن است به طور مستقیم با برنامههای فرانت اند تعامل داشته باشند، یا با استفاده از یک برنامه «میانی» (Intermediate) فعالیتهای برنامه نویسی بک اند و فرانت اند با یکدیگر ارتباط برقرار کنند.
در نهایت باید به این موضوع نیز پرداخته شود که به توسعه دهندهای که هم در زمینه بک اند و هم در زمینه فرانت اند مهارت داشته باشد، «توسعه دهنده یا مهندس فول استک» (Full Stack Developer/Engineer) گفته میشود. در ادامه این مطلب یاد میگیریم که هدف از فرانت اند و برنامه نویسی Back end چیست و چه رخدادهایی را برنامهنویسان در این رابطه در نظر میگیرند.
هدف از برنامه نویسی بک اند و فرانت اند
همانطور که گفته شد معماری طراحی یک وب سایت به بخش برنامه نویسی Back end و برنامه نویسی Front end تقسیم میشود و هر کدام از این بخشها، اهداف مخصوص به خود را دارند. در ادامه این بخش برخی از وظایف و هدفهای برنامه نویسی بک اند و فرانت اند ارائه شدهاند و تفاوت این دو بخش در اهداف آنها مشهود است. ابتدا مثالهایی از وظایف برنامه نویسی Back end ارائه میشود:
- در برنامه نویسی Back end از زبانهای برنامه نویسی و اسکریپت نویسی از جمله PHP، «پایتون» (Python) و #C استفاده میشود.
- تست خودکار فریم ورکها در این بخش انجام میشود.
- روشهای در دسترس بودن و مقیاسپذیری شبکه از وظایف برنامه نویسی Back end است.
- مدیریت پایگاه داده و تبدیل دادهها با استفاده از برنامه نویسی Back end انجام میشود.
- ایجاد امنیت سایبری و روشهای «پشتیبانگیری» (Backup) از وظایفی به حساب میآیند که در برنامه نویسی Back end انجام میشوند.
در ادامه برخی از وظایف برنامه نویسی Front end فهرست شدهاند:
- معمولاً طراحی این بخش با استفاده از «زبانهای نشانهگذاری» (Markup Language) از جمله HTML ،CSS و «جاوا اسکریپت» (Java Script) انجام میشود.
- وظایف «بهینهسازی موتور جستجو» (Search Engine Optimization | SEO) در این بخش انجام میشود.
- انواع تستهای قابلیت استفاده و دسترسی با استفاده از برنامه نویسی Front end انجام میشوند.
- طراحی گرافیکی و استفاده از ابزارهای ویرایش تصویر در بخش برنامه نویسی فرانت اند انجام میشوند.
- بررسی کارایی وب و «سازگاری» (Consistency) مرورگر از اهداف و وظایف برنامه نویسی Front end هستند.
در بخش بعدی از این مطلب، به تفاوت بین برنامه نویسی Back end و اسکریپت نویسی آن پرداخته شده است.
اسکریپت نویسی در برنامه نویسی Back End چیست و چه تفاوتی با برنامه نویسی دارد؟
به طور کلی میتوان گفت که زبانهای اسکریپت نویسی جزئی از زبانهای برنامه نویسی به حساب میآیند. تفاوت تئوری این دو نوع از زبانها در این است که زبانهای اسکریپت نویسی به کامپایل نیازی ندارند و سریعتر تفسیر میشوند، اما زبانهای برنامه نویسی اینچنین نیستند. به عنوان مثال، معمولاً یک برنامه نوشته شده به زبان برنامه نویسی C باید پیش از پیادهسازی، کامپایل شود. در حالی که معمولاً یک زبان اسکریپت نویسی مانند جاوا اسکریپت یا PHP نیازی به کامپایل ندارد. اجرای برنامههای کامپایل شده سریعتر از برنامههای تفسیری هستند، زیرا کدهای نوشته شده به زبانهای کامپایلری در همان ابتدا به کد زبان ماشین تبدیل میشوند.
همچنین، کامپایلرها فقط یک بار کدهای برنامه را میخوانند، آنها را تجزیه و تحلیل میکنند و خطاهای احتمالی را گزارش میدهند. در صورتی که مفسر در هر بار مواجهه با کدها، آنها را میخواند، تجزیه و تحلیل میکند و در صورت وجود خطا در همان لحظه متوقف میشود. به طور کلی و از نظر عملی، به دلیل بهبود قابلیتهای محاسباتی سخت افزارهای امروزی و شیوههای کدنویسی پیشرفته، تمایز بین برنامه نویسی و اسکریپت نویسی مبهم است.
مسئله دیگری که باید به آن اشاره کرد این است که هنگام در نظر گرفتن یک زبان به عنوان زبان اسکریپت نویسی یا زبان برنامه نویسی، محیطی که برنامه نوشته شده با این زبان در آن پیادهسازی میشود را نیز باید در نظر گرفت؛ زیرا میتوان با طراحی مفسر برای برنامه زبان C، از آن به عنوان یک زبان اسکریپت نویسی استفاده کرد، در عین حال میتوان با طراحی کامپایلر برای زبان جاوا اسکریپت، آن را به عنوان زبان غیراسکریپتی در نظر گرفت. در بخش بعدی از مطلب «برنامه نویسی Back end چیست» به این موضوع پرداخته میشود که برنامه نویس Back end کیست.
برنامه نویس Back end کیست؟
حال که معرفی از تعریف و مفاهیم برنامه نویسی Back end و بررسی تفاوتهای آن با برنامه نویسی Front end انجام شد، درک وظایف نقش برنامه نویس بک اند از اهمیت بالایی برخوردار است. موقعیت شغلی توسعه دهنده Back end شامل وظایفی از جمله تمرکز روی معماری وب سایت، اسکریپت نویسی و نوشتن کدهایی برای ایجاد ارتباط بین پایگاه داده وب سایت و مرورگر کاربر است. سازگاری دادهها و «یکپارچگی» (Integrity) دادهها نیز توسط متخصص برنامه نویسی Back end بررسی میشوند. در ادامه به بررسی وظایف و مسئولیتهای برنامه نویس Back end پرداخته شده است.
وظایف و مسئولیت های توسعه دهنده Back end چیست؟
نیاز است که توسعه دهندگان و برنامه نویسان Back end دارای تجربه و تخصص، تفکر تجزیه و تحلیلی، مهارتهای همکاری و کار تیمی فوقالعادهای باشند. یک توسعه دهنده وب Back end، باید بتواند به طور مستقل در طراحی زیرساخت وب سایت کار کند. در ادامه برخی از وظایف برنامه نویس Back end در ادامه برخی از وظایف روزانه برنامه نویس بک اند فهرست شده است:
- ساخت و نگهداری وب سایت: وظیفه اصلی یک برنامه نویس Back end استفاده از ابزارها، فریم ورکها و انواع زبانهای برنامه نویسی مختلف برای تعیین بهترین روش توسعه «نمونههای اولیه» (Prototype) بصری، کاربرپسند و تبدیل آنها به یک وب سایت است. این رویکرد به داشتن درک مطلوب از چگونگی عملکردها و آشنایی با نحوه برقراری سازگاری با پلتفرمهای مختلف نیاز دارد.
- نوشتن کدها با کیفیت بالا: برای تولید یک اپلیکیشن تحت وب پایدار، برنامه نویسان Back end باید کدهایی تمیز با قابلیت نگهداری بالا بنویسند.
- انجام تست «تضمین کیفیت» (Quality Assurance): این تست برای ایجاد و نظارت بر برنامههای آزمایشی جهت بهینهسازی رابط و تجربه کاربری به منظور اطمینان از نمایش وب سایت به صورت بهینه در مرورگرها و دستگاههای مختلف انجام میشود.
- ارزیابی کارایی و سرعت: هنگامی که وب سایتی راهاندازی و اجرا میشود و همچنین در زمان بروزرسانی و ویرایش آن، توسعه دهندگان باید عملکرد و مقیاسپذیری آن را ارزیابی و کدهای وب سایت را در صورت لزوم تنظیم کنند.
- «عیبیابی» (Troubleshoot) و «خطایابی» (Debug): یک برنامه نویس Back end باید بتواند وب سایت را عیبیابی و خطایابی کند و همچنین مشکلات به وجود آمده را به صورت واضح با مدیران پروژه، ذینفعان و تیم تضمین کیفیت در میان بگذارد.
- آموزش و پشتیبانی: برای پشتیبانی مداوم از وب سایت، بهتر است که گردش کار و ارتباط با تیم برنامه نویسی Front end به خوبی حفظ شود و تیم بک اند در جریان کارهای تیم فرانت اند قرار بگیرد. همچنین در این گردش کار نیاز است که توسعه دهندگان «جوانی» (Junior) را آموزش داد و آنها را برای پیشرفت در این حوزه راهنمایی کرد.
در بخش بعدی از مطلب «برنامه نویسی Back end چیست» انواع زبانهای برنامه نویسی را بررسی میکنیم که در این حوزه مورد استفاده قرار میگیرند.
انواع زبان های برنامه نویسی Back end
برای معرفی انواع زبانهای برنامه نویسی بک اند لازم است به این نکته اشاره شود که این زبانها را میتوان به دو دسته کلی از نظر روشها و اصول برنامه نویسی تقسیم کرد. این دو روش به شرح زیرند:
- «برنامه نویسی شی گرا» (Object Oriented Programming | OOP)
- «برنامه نویسی تابعی» (Functional Programming)
در ادامه به شرح و بررسی هر کدام از این نوع زبانهای برنامه نویسی پرداخته شده است. ابتدا زبانهای برنامه نویسی شی گرا بررسی میشوند.
زبان برنامه نویسی شی گرا برای استفاده در Back end چیست ؟
برنامه نویسی شی گرا نوعی از معماری برنامه نویسی است که بر اساس ۲ مفهوم مهم «کلاسها» (Class) و «شی» (Object) ایجاد میشود و در برنامه نویسی Back end میتوان از زبانهایی با این معماری استفاده کرد. از این نوع برنامه نویسی برای ساده کردن ساختمان برنامهها و تبدیل کدها به قطعه کدهایی با قابلیت استفاده مجدد یا همان کلاسها استفاده میشود و همچنین با استفاده از آن میتوان «نمونههای» (Instance) منحصربهفردی را از اشیا ایجاد کرد. کلاسها در برنامه نویسی شی گرا میتوانند در حالت «انتزاعی» (Abstract) قرار بگیرند و این مفهوم باعث ایجاد اشیایی خاص میشود.
در زبانهای برنامه نویسی شی گرا، گذارهها و کدها با ترتیب خاصی پیادهسازی میشوند. به عنوان برخی از زبانهای برنامه نویسی شی گرایی که در توسعه Back end مورد استفاده قرار میگیرند، میتوان به پایتون و «جاوا» (Java) اشاره کرد. در بخش بعدی از مطلب «برنامه نویسی Back end چیست» به بررسی زبانهای برنامه نویسی تابعی برای استفاده در Back end پرداخته شده است.
زبان برنامه نویسی تابعی برای استفاده در Back end چیست ؟
برنامه نویسی تابعی یک الگوی برنامه نویسی به حساب میآید که در آن همه بخشهای برنامه و کدها به سبک توابع ریاضی نوشته میشوند. این نوع برنامه نویسی، رویکردی برای توسعه نرم افزار با استفاده از توابع خاص است. زبانهای برنامه نویسی تابعی از مفاهیمی با حالتهای مشترک و دادههای «قابل تغییر» (Mutable) اجتناب میکنند، این مفاهیم و دادهها در برنامه نویسی شی گرا وجود دارند. این نوع از زبانهای برنامه نویسی به جای پیادهسازی، بیشتر بر «عبارتها» (Statement) و «اعلانها» (Declaration) تأکید میکنند.
زبانهای برنامه نویسی تابعی از «سینتکسهای اعلانی» (Declarative Syntax) استفاده میکنند که نشان میدهد عبارات معمولاً با ترتیب تصادفی اجرا میشوند. به عنوان مثالهایی از زبانهای برنامه نویسی تابعی که در توسعه Back end استفاده میشوند، میتوان به «هسکل» (Haskell)، Clojure ،SQL و R اشاره کرد. در بخش بعدی از مطلب «برنامه نویسی Back end چیست» پس از معرفی مجموعه دورههای آموزش برنامه نویسی و طراحی سایت فرادرس، به بررسی مهارتهایی میپردازیم که برای تبدیل شدن به یک برنامه نویس Back end مورد نیاز هستند.
معرفی فیلم های آموزش طراحی سایت
مجموعه دورههای آموزشی در پلتفرم فرادرس بر اساس موضوع به دستههای مختلفی تقسیم میشوند. یکی از این مجموعههای جامع و غنی مربوط به آموزش طراحی سایت است. علاقهمندان میتوانند برای یادگیری زبانهای برنامه نویسی بک اند و فرانت اند مختلف، از این مجموعه آموزشی استفاده کنند. در زمان تدوین این مقاله، مجموعه دورههای برنامه نویسی سایت فرادرس حاوی بیش از ۳۲۰ ساعت محتوای ویدیویی و دارای حدود ۶۰ عنوان آموزشی مختلف است. در ادامه، برخی از دورههای این مجموعه به طور مختصر معرفی شدهاند:
- فیلم آموزش اچ تی ام ال - طراحی وب با HTML - مقدماتی (طول مدت: ۲ ساعت و ۵۶ دقیقه، مدرس: مهندس محمد عبداللهی): از این دوره آموزشی میتوان به عنوان نقطه شروع برنامه نویسی سمت کلاینت استفاده کرد و برای افراد تازه کار حوزه توسعه وب و فرانتاند مناسب است. برای مشاهده فیلم آموزش اچ تی ام ال - طراحی وب با HTML - مقدماتی + کلیک کنید.
- فیلم آموزش برنامه نویسی پی اچ پی PHP (زمان: ۲۹ ساعت و ۵ دقیقه، مدرس: سید مصطفی کلامی هریس): هدف از این فرادرس آموزش تمامی نکات و مهارتهای عملی لازم برای ورود به دنیای جذاب برنامه نویسی و پیادهسازی دینامیکی وب با استفاده از زبان برنامه نویسی PHP است. برای مشاهده فیلم آموزش برنامه نویسی پی اچ پی PHP + کلیک کنید.
- فیلم آموزش جاوا اسکریپت JavaScript (زمان: ۹ ساعت و ۸ دقیقه، مدرس: مهندس محمد عبداللهی): جاوا اسکریپت زبان برنامه نویسی مفسری در سمت کلاینت است که میتوان به وسیله آن عناصر HTML موجود در صفحه وب و مقادیر CSS آنها را تغییر داد و نیز ابزاری برای اعتبارسنجی دادهها به حساب میآید و در این دوره آموزشی به آن پرداخته شده است. برای مشاهده فیلم آموزش جاوا اسکریپت JavaScript + کلیک کنید.
- فیلم آموزش جنگو - فریمورک تحت وب Django با پایتون Python (زمان: ۸ ساعت و ۱۵ دقیقه، مدرس: پدارم شاه صفی): جنگو، وب فریم ورک پایتونی رایگان و متن باز است که با هدف توسعه سریع، آسان و کارآمد، توسط توسعه دهندگان با تجربه ساخته شده و در این فرادرس آموزش داده میشود. برای مشاهده فیلم آموزش جنگو - فریمورک تحت وب Django با پایتون Python + کلیک کنید.
- فیلم آموزش پروژه محور PHP و MySQL - پیاده سازی انواع لاگین و ثبت نام (زمان: ۶ ساعت و ۴۰ دقیقه، مدرس: مهندس محمود خاوریان): در این فرادرس، یک پروژه طراحی وب سایت با نام بانک اطلاعاتی اینترنتی اشعار تعریف شده و به صورت مرحله به مرحله با استفاده از PHP و MySQL ساخته شده است. برای مشاهده فیلم آموزش پروژه محور PHP و MySQL - پیاده سازی انواع لاگین و ثبت نام + کلیک کنید.
- فیلم آموزش طراحی رابط کاربری وب سایت با فریم ورک Foundation (زمان: ۵ ساعت و ۴۷ دقیقه، مدرس: مهندس سید رضا هاشمیان): یکی از فریم ورکهای مطرح در زمینه طراحی رابط کاربری، فریمورک Foundation است که در این فرادرس آموزش داده میشود. برای مشاهده فیلم آموزش طراحی رابط کاربری وب سایت با فریم ورک Foundation + کلیک کنید.
در ادامه مطلب «برنامه نویسی Back end چیست» و پس از معرفی خلاصهای از برخی دورههای آموزش طراحی سایت فرادرس، مهارتهای مورد نیاز برای تبدیل شدن به یک برنامه نویس Back end بررسی شدهاند.
مهارت های مورد نیاز برای تبدیل شدن به برنامه نویس Back end چیست ؟
زمینه مهارتهایی که برای تبدیل شدن به برنامه نویس Back end مورد نیاز هستند و برای رشد در مسیر ورود به بازار کار برنامه نویسی سمت سرور و Back end استفاده میشوند، در ادامه فهرست شدهاند:
در ادامه این بخش از مطلب، هریک از حوزههای این مهارتها به طور کامل بررسی میشوند. ابتدا به بررسی و شرح زبانها و فریم ورکهای برنامه نویسی و توسعه Back end میپردازیم.
زبان و فریم ورک های برنامه نویسی Back end
یک مهندس Back end باید حداقل به یک زبان برنامه نویسی سمت سرور یا Back end تسلط داشته باشد. همچنین داشتن دانشی در زمینه زبانهای اسکریپت نویسی HTML و CSS نیز به عملکرد برنامه نویس Back end در طراحی وب سایت کمک میکند. اما برنامه نویسان Front end باید به طور جامع به این زبانها مسلط باشند. برخی از زبانهای برنامه نویسی و فریم ورکهای بک اند در ادامه فهرست شدهاند:
- جاوا
- پایتون
- «روبی» (Ruby)
- NET.
- PHP
- جاوا اسکریپت
- #C
در ادامه برخی از این زبانهای برنامه نویسی Back end بیشتر بررسی میشوند. ابتدا به بررسی زبان PHP پرداخته شده است.
زبان PHP برای برنامه نویسی Back end
PHP که مخفف عبارت «Hypertext Preprocessor» است، یک زبان اسکریپت نویسی متن باز Back end به حساب میآید که در بیشتر موارد برای ساخت وب سایتهای پویا یا همان داینامیک استفاده میشود. این زبان اسکریپت نویسی اولین بار در سال ۱۳۷۴ شمسی (۱۹۹۵ میلادی) به عنوان یکی از اولین زبانها برای ساخت و ایجاد وب سایتهای پویا ارائه شد و به سرعت در این زمینه پیشرفت کرد. در حال حاضر حدود 78.2 درصد از وب سایتهای پویا توسط زبان اسکریپت نویسی PHP ایجاد شدهاند.
در وب سایتهای قدیمیتر، PHP معمولاً برای جمعآوری اطلاعات کاربر و ذخیره امن آنها در پایگاه داده استفاده میشود. یکی از مهمترین مزایای PHP این موضوع به حساب میآید که یادگیری و استفاده از آن به دلیل داشتن سینتکسی نسبتاً ساده، تقریباً آسان است. PHP به دلایل زیر، زبانی بسیار مناسب برای شروع یادگیری برنامه نویسی Back end به شمار میرود:
- این زبان اسکریپت نویسی با نوعدهی پویا، دارای خطاهای کمتری است. یعنی باید یک برنامه را کامپایل و پیادهسازی کرد تا بخش دارای مشکل آن شناسایی شود.
- این زبان دارای جامعه بزرگی برای پشتیبانی و یادگیری است و منابع زیادی برای یادگیری آن وجود دارند.
برخی از شرکتهایی که از زبان اسکریپت نویسی PHP برای توسعه Back end وب سایت خود استفاده میکنند، شامل فیسبوک، Lyft، وایبر و Hootsuite میشوند. در ادامه این بخش از مطلب «برنامه نویسی Back end چیست» به معرفی زبان برنامه نویسی پایتون پرداخته شده است.
زبان برنامه نویسی پایتون برای توسعه Back end
زبان برنامه نویسی پایتون برای اولین بار در سال ۱۳۷۰ شمسی (۱۹۹۱ میلادی) توسط «Guido van Rossum» ارائه شده است. پایتون یک زبان همه منظوره «مفسری» (Interpreted) به حساب میآید. همچنین این زبان نیاز به کدنویسی را تا حد زیادی کاهش داده است؛ زیرا توابع، متدها، کتابخانهها و فریم ورکهای مختلف بسیاری برای اهداف متفاوت دارد. این زبان برای توسعه برنامه نویسی Back end کتابخانههای زیادی دارد که این کتابخانهها بسیاری از وظایف برنامه نویسی Back end را پوشش میدهند.
بسیاری از شرکتها با فناوری جدید خود برای توسعه Back end از این زبان برنامه نویسی و فریم ورکهای وب آن مانند «جنگو» (Django) و «فلسک» (Flask) استفاده میکنند. علاوه بر این، سینتکس پایتون در مقایسه با سایر زبانهای برنامه نویسی بک اند سادهتر است. پایتون را میتوان برای اسکریپت نویسی «پوسته» (Shell)، «چند سکویی» (Cross Platform) و اتوماسیون سریع نیز استفاده کرد.
با استفاده از فریم ورکهایی مانند فلسک، میتوان مدلهای «یادگیری ماشین» (Machine Learning) را نیز در وب سایتها پیادهسازی کرد. به عنوان برخی از شرکتهایی که از زبان برنامه نویسی پایتون برای توسعه بک اند خود استفاده میکنند، میتوان به Uber ،Mozilla ،RedHat و Spotify اشاره کرد. در بخش بعدی از مطلب «برنامه نویسی Back end چیست» به شرح زبان روبی میپردازیم.
زبان برنامه نویسی روبی برای توسعه Back end
روبی یک زبان برنامه نویسی پویا، سطح بالا و متن باز به حساب میآید که بر سادگی و بهرهوری برنامهها تأکید دارد. برنامه نویسی با زبان روبی این امکان را برای توسعه دهندگان به وجود میآورد که اپلیکیشنهای تحت وب را به سرعت و بدون نیاز به کدنویسی زیاد ایجاد کنند.
زبان برنامه نویسی روبی شبیه به زبان پایتون است و برای استفاده در زمینه «نمونهسازی» (Prototyping) عملکرد فوقالعادهای دارد. این زبان برنامه نویسی به جای انجام پیکربندی فایلها، قراردادها را در اولویت قرار میدهد و این روش به توسعه دهندگان Back end کمک میکند؛ زیرا دیگر مجبور نیستند که وقت خود را جهت پیکربندی برای شروع فرایند توسعه تلف کنند.
با زبان برنامه نویسی روبی میتوان وظایف زیر را به راحتی انجام داد:
- خودکار کردن وظایف تکراری
- ساخت اپلیکیشنهای تحت وب
- ساخت اپلیکیشنهای موبایل
- ساخت «نمونههای اولیه» (Prototype)
«Ruby on Rails» یکی از فریم ورکهای توسعه وب متن باز زبان برنامه نویسی روبی به حساب میآید. برخی از شرکتهای معروفی که از زبان روبی در برنامه نویسی Back end خود استفاده میکنند، شامل Airbnb و Codecademy هستند. بخش بعدی از مطلب به بررسی زبان برنامه نویسی جاوا برای توسعه بک اند اختصاص دارد.
زبان جاوا برای برنامه نویسی Back end
جاوا یک زبان برنامه نویسی شی گرا، مستقل از پلتفرم و همه منظوره به حساب میآید. با استناد به منابع معتبر و نظرسنجیهای وب سایت «Indeed» جاوا یکی از محبوبترین زبانهای برنامه نویسی در جهان است. جاوا زبانی ساده به حساب میآید که دارای قابلیتهای چند مرحلهای و امنیت بالا است. بنابراین، این زبان یکی از محبوبترین زبانها در میان توسعه دهندگان به شمار میرود. با اینکه زبان جاوا در میان توسعه دهندگان نرم افزارهای تجاری و دسکتاپ بسیار محبوب است، اما زبان مناسبی برای برنامه نویسان تازهکار و مبتدی نیست. از اینرو، در مقابل زبانی مانند پایتون بازنده به حساب میآید.
جاوا نسبت به پایتون زبانی است که به کدهای بیشتری نیاز دارد و برای ساخت سادهترین ویژگیها از کدهای بیشتری استفاده میکند. با زبان برنامه نویسی جاوا میتوان وظایفی را از جمله اتصال پایگاه داده، «پردازش تصویر» (Image Processing)، شبکه و سایر موارد را به راحتی انجام داد. «Spring Boot» یکی از محبوبترین فریم ورکهای Back end زبان جاوا است که برای توسعه وب به صورت بسیار کارآمد استفاده میشود. برخی از شرکتهایی که از این زبان در توسعه Back end خود استفاده میکنند، شامل لینکدین، Flipkart، آمازون و eBay هستند. در بخش بعدی از مقاله «برنامه نویسی Back end چیست» به بررسی فریم ورک NET. میپردازیم.
فریم ورک NET. برای برنامه نویسی Back end
NET. فریم ورکی برای توسعه اپلیکیشنهای تحت وب است که جهت ساخت وب سایت با استفاده زبانهایی مانند C# ،VB.NET و سایر موارد کاربرد دارد. این فریم ورک اولین بار توسط شرکت مایکروسافت برای پایگاه داده Oracle زبان برنامه نویسی جاوا ایجاد شده است. دات نت رویکرد سریع، قوی و یکپارچهای برای ساخت اپلیکیشنهای موبایل، دسکتاپ، وب و فضای «ابری» (Cloud) دارد. این فریم ورک متن باز است و به همین دلیل از سیستم عاملهایی مانند ویندوز، macOS و لینوکس پشتیبانی میکند.
فریم ورک NET. سریع و کاربر پسند است و به خوبی با زبانها و پلتفرمهای برنامه نویسی دیگر هماهنگ میشود. این فریم ورک معمولاً از الگوی معماری مدل، نما و «کنترلکننده» (Controller) یا همان «الگوی معماری MVC» پیروی میکند که سرنامی برای «Model View Controller» است. MVC یک الگوی توسعه به حساب میآید که این امکان را میدهد تا وظایف توسط کنترلکنندهای انجام شوند که با یک مدل برای پردازش دادهها تعامل دارد.
برخی از شرکتهایی که از فریم ورک دات نت برای برنامه نویسی Back end خود استفاده میکنند، شامل Stackoverflow و Microsoft میشوند. در بخش بعدی از مطلب «برنامه نویسی Back end چیست» پایگاه دادههای مورد نیاز برنامه نویسی Back end معرفی شدهاند.
پایگاه داده برای برنامه نویسی Back end
همه وب سایتها به پایگاه داده برای برقراری ارتباط و رسیدگی به دادههای کلاینت نیاز دارند. پایگاه داده، دادهها و محتوای وب سایت را طوری ذخیره میکند که بازیابی، ترتیب، تغییر و ذخیره اطلاعات را آسان میکند. یکی از مهارتهای مورد نیاز و بسیار مهم برنامه نویسی Back end، داشتن مهارت در زمینه «سیستمهای مدیریت پایگاه داده» (Database Management System | DBMS) است. دو نوع پایگاه داده «SQL» و «NoSQL» برای استفاده در برنامه نویسی Back end وجود دارند.
در پایگاه داده SQL دادهها در جدولها جمعآوری میشوند و این جدولها با روشهای مختلف با یکدیگر ارتباط برقرار میکنند. پایگاه دادههای SQL با استفاده از کوئری یا همان پرس و جوها کار میکنند و بر اساس آنها نتایج خود را ارائه میدهند. ساختار پایگاه داده NoSQL با SQL تفاوت دارد. این پایگاه داده معمولاً روی دادههای JSON کار میکند که نشاندهنده «نشانهگذاری شی» (Object Notation) در جاوا اسکریپت است و همچنین امکان دارد از دادههای XML نیز استفاده شود که همان «زبان نشانهگذاری توسعهیافته» (eXtensible Markup Language) است. برخی از پایگاه دادههایی که به صورت گسترده در زمینه برنامه نویسی بک اند مورد استفاده قرار میگیرند در ادامه فهرست شدهاند:
- MySQL
- MongoDB
- Oracle
- SQL Server
- Redis
همچنین آگاهی داشتن در زمینه ساز و کارهای «پنهانسازی» (Caching) مانند «Varnish» ،«Memcached» و «Redis» در فعالیتهای مرتبط با برنامه نویسی Back end امتیاز محسوب میشود. در ادامه سرور در برنامه نویسی بک اند بررسی شده است.
- مقاله پیشنهادی: استفاده از مدل های پایگاه داده در پایتون و جنگو | به زبان ساده
سرور در برنامه نویسی Back end چیست ؟
هر اپلیکیشن تحت وبی که امروزه مشاهده میشود، روی یک کامپیوتر از راه دور اجرا شده است که به این کامپیوتر سرور میگویند. معمولاً در اینترنت، اصطلاح سرور برای اشاره به سیستم یارانهای استفاده میشود که «درخواست» (Request) فایلهای مبتنی بر وب شامل HTML ،CSS، جاوا اسکریپت و سایر موارد را دریافت و آن فایلها را برای کلاینت ارسال میکند.
به دلیل اینکه سرورها رایجترین سیستمهای مورد استفاده برای ارائه خدمات حیاتی تحت وب هستند، بیشتر آنها هرگز خاموش نمیشوند. سرورها عنصری بسیار ضروری هستند و برنامه نویسان Back end باید اطلاعات کافی در مورد آنها داشته باشند. برای طراحی و ایجاد وب سایت در سطح برنامه نویسی Back end انواع سرورهای متفاوتی وجود دارد که برخی از آنها در ادامه فهرست شدهاند:
- Apache
- Nginx
- IIS servers
- Microsoft IIS
داشتن پیشینه و مهارت مناسب در سیستم عامل «لینوکس» (Linux) به مدیریت سرورها کمک بسزایی میکند. در ادامه به بررسی مهارت در زمینه APIها برای برنامه نویسی Back end میپردازیم.
API در برنامه نویسی Back end چیست ؟
کل رویکردهای اینترنت از طریق سیستمهای API کار میکنند. API سرنامی برای «Application Programming Interface» است و سیستمی به حساب میآید که از طریق آن دو نرم افزار کامپیوتری میتوانند با یکدیگر ارتباط برقرار کنند. کسب دانش در زمینه وب سرویسها یا API نیز برای توسعه دهندگان فول استک مهم است. دانش ایجاد و استفاده از خدمات انتقال REST یا همان «Representational State Transfer» و پروتکل SOAP یا همان «Simple Object Access Protocol» نیز در برنامه نویسی Back end مورد استفاده قرار میگیرند. API مجموعهای از قوانین و تعاریف است که به کلاینتها، نرمافزارها یا سرویسهای مختلف این امکان را میدهد تا از طریق اینترنت با یکدیگر ارتباط برقرار کنند.
هنگامی که دو سیستم با یکدیگر ارتباط برقرار میکنند، سرور، API را فراهم خواهد کرد و کلاینت بخشی است که از آن استفاده میکند. APIها درخواستها را از سیستم کلاینت یا کاربر میگیرند و به سرور ارسال میکنند و سپس بر اساس درخواست، پاسخی را برمیگردانند. این ارتباطات از طریق متدهای پروتکل HTTP مانند موارد زیر انجام میشوند:
- GET: این متد برای بازیابی یک منبع مورد استفاده قرار میگیرد.
- DELETE: برای حذف کردن یک منبع از این متد استفاده میشود.
- PUT: برای جایگزینی منبعی موجود از این متد استفاده میشود.
- POST: این متد برای ایجاد منبعی جدید استفاده شده است.
توسعه دهندگان و برنامه نویسان Back end باید دانش گستردهای در مورد APIها داشته باشند؛ زیرا آنها رسانههایی هستند که امکان انتقال دادهها را فراهم میکنند. معمولاً APIها به عنوان یک واسط بین بخش Back end وب سایت و پایگاه داده عمل میکنند و این امکان را به توسعه دهندگان میدهند تا دادههای کاربران را رد و بدل کنند. برنامه نویسان Back end با استفاده از زبانها و فریم ورکهای مختلف از جمله NodeJS، پایتون و سایر موارد APIها را ایجاد میکنند.
سپس این APIها میتوانند توسط برنامه نویسان Front end مصرف شوند تا دادهها را جمعآوری کنند و آنها را در فرم مناسب خود در وب سایت نشان و تجربه کاربری را بهبود دهند. دو موقعیت شناسایی شده برای اطلاعات API وجود دارند که در ادامه فهرست شدهاند:
- فایلهای JSON که نشاندهنده «نشانهگذاری شی» زبان جاوا اسکریپت هستند.
- فایلهای XML که نشاندهنده «زبان نشانهگذاری توسعهیافته» هستند.
در ادامه مطلب «برنامه نویسی Back end چیست» برخی از مهارتهای دیگر مورد نیاز برای شروع کار و یادگیری برنامه نویسی بک اند ارائه شدهاند.
سایر مهارت های مورد نیاز برای تبدیل شدن به یک برنامه نویس Back end
در این بخش سایر مهارتهای مورد نیاز برای تبدیل شدن به یک برنامه نویس بک اند فهرست شدهاند:
- امکان مدیریت یک محیط «Hosting» همراه با مدیریت پایگاه داده یکی از مهارتهای مورد نیاز برنامه نویس Back end است.
- دانش مقیاسپذیری اپلیکیشنها برای مدیریت تغییرات حجم بالایی از دادهها در این زمینه کاربردی است.
- داشتن دانش دسترسی و ایجاد امنیت در این نوع برنامه نویسی وب سایت کاربرد دارد.
- داشتن دانشی درباره سیستمهای «کنترل نسخه» (Version Control) مانند Git یا همان GitHub در زمینه برنامه نویسی Back end مورد استفاده قرار میگیرند.
- دارا بودن قدرت برقراری ارتباط مناسب برای به اشتراک گذاشتن ایدهها و پیشرفت تیم برنامه نویسی، پیشبرد و ساخت وب سایت را تسهیل میبخشد.
- داشتن دانشی عمیق در رابطه با استقرار و میزبانی برنامهها در Back end وب سایت کاربردی است.
- دارا بودن اطلاعاتی در رابطه با AWS ،Heroku ،Google Cloud Platform و سایر موارد مزیت محسوب میشود. این موارد بازارهای «میزبانی ابری» (Cloud Hosting) هستند.
در بخش بعدی از مطلب «برنامه نویسی back end چیست» به این موضوع پرداخته میشود که چگونه و با طی کردن چه مراحلی میتوان به یک برنامه نویس بک اند تبدیل و با استفاده از آن وارد باز کار شد.
چگونه به یک برنامه نویس Back end تبدیل و وارد بازار کار شد؟
از آنجایی که در سالهای اخیر حوزههای مرتبط با توسعه وب پیشرفت بسیاری داشتهاند، این زمینه به یک کانون مناسب برای یادگیری مهارت و کسب درآمد تبدیل شده است. بنابراین، امروزه سازمانها به دنبال افراد با استعداد و متخصصی میگردند که بتوانند وب سایت خود را به دست آنها بسپارند و با استفاده از جدیدترین روشها و فناوریها آن را بروزرسانی کنند و توسعه دهند. به دلیل اینکه این زمینه کاری بسیار پرطرفدار و سودآور است، برنامه نویسان آن نیز درآمد خوبی با استفاده از مهارت خود کسب میکنند.
امروزه بسیاری از افراد نسل جوان برای کسب مهارت به دنبال یادگیری روشهای توسعه وب هستند و فعالیت در این حوزه نیازمند یادگیری و دنبال کردن مسیر شغلی خاصی است تا آمادگی برای تبدیل شدن به یک برنامه نویس Back end ایجاد شود. این آمادگی نیاز به طی کردن یک سری مراحل، آموزشهای مرتبط و تمرین در برنامه نویسی است. با روشهای مختلفی میتوان برنامه نویسی Back end را فراگرفت که برخی از این روشها در ادامه فهرست شدهاند:
- میتوان از منابع اصلی یادگیری برنامه نویسی Back end یعنی کتابها استفاده کرد.
- میتوان از مطالب وبلاگها مانند وبلاگ فرادرس به صورت رایگان استفاده کرد.
- ویدیوهای رایگان موجود در اینترنت را میتوان مشاهده کرد، برای مثال وب سایتهایی مانند یوتوب به زبان انگلیسی و فرادرس به زبان فارسی از بزرگترین و محبوبترین وب سایتهای شامل فیلمهای رایگان برای برنامه نویسی هستند.
- در سطح پیشرفتهتر آموزشهای ویدیویی دیگری نیز برای یادگیری برنامه نویسی Back end وجود دارند که شامل هزینه میشوند. یکی از جامعترین پلتفرمهای آموزشی برای یادگیری برنامه نویسی در ایران پلتفرم فرادرس است که فیلمهای آموزش رایگان برنامه نویسی هم در آن ارائه شده است.
- میتوان در کلاسها و دورههای آنلاین و حضوری نیز برای یادگیری برنامه نویسی Back end استفاده کرد.
در ادامه این بخش، به مراحل تبدیل شدن به یک برنامه نویس Back end میپردازیم. اولین مرحله به مفاهیم «ساختمان داده» (Data Structure) و الگوریتمها اختصاص دارد.
آشنایی با ساختمان داده و الگوریتم ها
بیشتر برنامه نویسان وب و Back end این مرحله را نادیده میگیرند و به سمت یادگیری فریم ورکهای طراحی Back end میروند. با این حال، برای داشتن مهارت در زمینه برنامه نویسی Back end بهتر است که فرد آشنایی با ساختمان داده و اصول طراحی الگوریتم داشته باشد. اگرچه نیازی نیست که به صورت عمیق با این مفاهیم آشنا بود، اما داشتن ایده اولیه در این زمینه به حل فرایندها کمک بسزایی میکند.
بهتر است که برای داشتن مهارت در زمینه برنامه نویسی Back end تا حد مطلوبی با مفاهیمی از جمله «پشته» (Stack)، «صف» (Queue)، «لیست پیوندی» (Linked List)، «درخت» (Tree)، «گراف» (Graph)، الگوریتم «درهمسازی» (Hashing)، «مرتبسازی» (Sorting)، «جستجو» (Searching) و دیگر مفاهیم اصلی برنامه نویسی آشنا بود. بخش بعدی از مقاله «برنامه نویسی Back end چیست» به مبحث یادگیری زبان برنامه نویسی و انتخاب فریم ورک اختصاص دارد.
یادگیری زبان برنامه نویسی و انتخاب فریم ورک
برای تبدیل شده به یک توسعه دهنده وب باید مفاهیم بسیاری را آموخت و مختصص شدن در این زمینه نیازمند داشتن تلاش بسیار، زمان و صبر است. نمیتوان انتظار داشت که یک شبه و بدون تمرین و تلاش فراوان زبانهای برنامه نویسی متفاوت را فراگرفت. بنابراین، باید زبان برنامه نویسی مورد نظر خود را انتخاب کرد و زمانی برای یادگیری آن در نظر گرفت. در زمینه توسعه Back end میتوان به دنبال یادگیری چند زبان برنامه نویسی به صورت همزمان رفت و هر چه یادگیری بیشتری انجام شود، بهتر است.
همچنین باید این نکته را نیز به یاد داشت که درک اصول برنامه نویسی امری ضروری به حساب میآید. بهتر است که نحوه عملکرد و منطق برنامه نویسی در شیوههای کدنویسی به طور عمیق درک شوند. در بخش بعدی از مطلب «برنامه نویسی Back end چیست» اشارهای به یادگیری پایگاه داده میشود.
یادگیری مفاهیم پایگاه داده
یادگیری یک سیستم پایگاه داده در کنار یادگیری زبان برنامه نویسی گام بعدی برای یادگیری برنامه نویسی Back end به حساب میآید. سیستمهای مدیریت پایگاه داده بسیاری با روش استفاده آسان وجود دارند که میتوان یکی از آنها را انتخاب و شروع به یادگیری کرد. تقریباً همه وب سایتهای امروزی دارای نوعی فضای ذخیرهسازی هستند، بنابراین یادگیری مباحث پایگاه دادهها همیشه مفید است. بخش بعدی به یادگیری فریم ورک برنامه نویسی Back end اختصاص دارد.
یادگیری فریم ورک برنامه نویسی Back end
بسته به زبان برنامه نویسی که فرد یاد گرفته است، میتواند اصول اولیه حداقل یک فریم ورک را بیاموزد. اگرچه میتوان بدون استفاده از فریم ورک کل برنامه مورد نظر را نوشت، اما این کار زمان و انرژی زیادی از برنامه نویس میگیرد و کدهای این روش بسیار گسترده و پیچیده خواهند شد. اما با استفاده از فریم ورکها وظایف برنامه نویسی Back end سادهتر خواهند شد و قالبها و کدهایی ایجاد میشود که میتوان بعداً نیز مجدداً از آنها استفاده کرد.
استفاده از فریم ورک باعث کاهش حجم کدهایی میشود که برنامه نویس Back end مینویسد و برنامه نویس میتواند از زمان خود به صورت کارآمدتری استفاده کند. به همین دلیل، به طور کلی یادگیری یک فریم ورک Back end ایده خوبی به حساب میآید. در بخش بعدی از مطلب «برنامه نویسی Back end چیست» به مبحث آموزش عملی برای توسعه بک اند پرداخته شده است.
شروع آموزش عملی یادگیری برنامه نویسی Back end
تا زمانی که فرد به صورت عملی شروع به انجام برنامه نویسی Back end نکند، نمیتوان متوجه شد که مهارتش در چه حدی است و کار در این زمینه چگونه انجام میشود. بنابراین برای درک بهتر دانشی که تا این مرحله فراگرفته شده است، باید به طور منظم و عملی در زمینه برنامه نویسی Back end تمرینهای مختلفی انجام شود. بهترین روش برای این مرحله، کار روی پروژهها یا تمرینهای کوچک است. برای مثال میتوان از تمرینهای کوچکی مانند موارد زیر استفاده کرد:
- ایجاد «فهرست کارهای روزمره» (To-Do List)
- ساخت یک وبلاگ ساده
- ساخت برنامه تحت وب گالری تصاویر
- ایجاد برنامه روزمهساز
- برنامه ساده مدیریت پروژه
در بخش بعدی از مطلب «برنامه نویسی Back end چیست» به روشهای یادگیری این حوزه از برنامه نویسی با استفاده از ایجاد عملکردهای جدید و نوآوری در برنامهها میپردازیم.
یادگیری برنامه نویسی Back end با استفاده از خلق برنامه های جدید و نوآوری در آن ها
نوآوری و ایدههای جدید در اکثر زمینهها و مهارتها بسیار ارزشمند است. همچنین این نوآوریها در زمینههای مرتبط با فناوری بیشتر هستند؛ زیرا با استفاده از آنها میتوان کل یک برنامه را تغییر و بهبود داد. با استفاده از برنامه نویسی و داشتن نوآوری میتوان بسیاری از محصولات موجود در بازار را شبیهسازی کرد. با ایجاد برنامههای جدید مرتبط با برنامه نویسی Back end میتوان مهارت خود را در این زمینه بهبود بخشید. در بخش بعدی از این مطلب به بررسی برنامههای میزبانی و فضای ابری پرداخته شده است.
بررسی برنامه های میزبانی برای برنامه نویسی بک اند
پس از یادگیری مفاهیم برنامه نویسی Back end و همه مسائل مورد نیاز آن میتوان از خدمات میزبانی و فضای ابری برای این مهارت استفاده کرد. برخی از وب سایتها مانند AWS به کاربران خود برای مستقر کردن وب سایت با استفاده از WWW برای حدود یک سال اشتراک رایگان در نظر میگیرند.
جمعبندی
برنامه نویسی بک اند یا همان Back end شامل بخش بسیار مهمی از توسعه وب میشود و هر چیزی که در پشت صفحه یک وب سایت طراحی و کاربر نمیتواند آن را ببیند توسط برنامه نویسان Back end ایجاد شده است. یک برنامه نویس Back end باید دارای مهارتهای مختلفی از جمله دانش برنامه نویسی، پایگاه داده، سرور و API باشد. در این مقاله سعی شد به طور جامع به این سوال پاسخ داده شود که برنامه نویسی Back end چیست و همچنین این نوع از برنامه نویسی توسعه وب با برنامه نویسی Front end نیز مقایسه شد. در نهایت در این مطلب برای یادگیری بیشتر برنامه نویسی بک اند برخی از دورههای ویدیویی فرادرس نیز به علاقهمندان معرفی شدند.