برنامهنویسی یکی از مشاغلیه که در این دوران پر از تکنولوژی جایگاه ویژهای پیدا کرده و روزبهروز هم جلب توجه بیشتری میکنه. نه تنها یکی از کارای مهارتی و حرفهایه، بلکه خیلی هم حساس و پر زحمته. اگر بخواین در این زمینه فعالیت کنین، باید چیزای زیادی یاد بگیرین. خب، بگذریم. فرض رو بر این میذاریم که در حال حاضر شما به برنامهنویسی علاقه پیدا کردین؛ اما میدونین که در چه زمینهای قصد کار دارین؟ برنامه نویسی وب یا موبایل؟ قبل از هر چیزی باید این سوالو از خودتون بپرسین تا به یه جواب منطقی برسین و روی مهارتاتون کار کنین. تصمیمگیری در این مورد ساده نیست و باید عوامل مختلفی رو در نظر بگیرین. در این شرایط پیدا کردن یه منبع مناسب با وجود راهنماییهای لازم کار خیلی سختیه. بخاطر همین امروز ما تو کندو تصمیم گرفتیم که با انتشار این مقاله کارو برای شما راحتتر کنیم. پس برای گرفتن جواب سوال “برنامه نویسی وب یا موبایل؟” کاملا خودتونو آماده کنین.
اما بیاین قبل از هر چیز دیگهای ببینیم که اصلا برنامه نویسی وب یا موبایل چیه.
برنامه نویسی وب یا موبایل چیست؟
با اینکه برای هر دو زمینهی کاری از کلمهی “برنامهنویسی” استفاده میکنیم؛ اما این دو تا یه فرقایی با همدیگه دارن. بهتره قبل از اینکه به سراغ تفاوتهای برنامه نویسی وب یا موبایل بریم، اول تعریف اونها رو بشناسیم.
برنامهنویسی و توسعه وب

اولین موردی که باید تو این مقاله از برنامه نویسی وب یا موبایل گفته بشه، برنامهنویسی و توسعه وبه. اگه کدنویسی تحت وب انجام بشه و هدف نهایی اون طراحی و راهاندازی وبسایت باشه، برنامهنویسی وب صورت میگیره. با این حال این طراحی باید طوری انجام شه که از طرفی از هر لحاظ کاربرپسند باشه و از طرف دیگه به همون اندازهای که ازش انتظار میره کاربردی باشه. از انواع وبسایتهایی که برنامهنویسان وب طرح میکنن، میشه به مواردی مثل فروشگاه اینترنتی، وبسایتهای وبلاگ، تجاری، پخش ویدیو، خدماتی و… اشاره کرد. توسعه و یا برنامهنویسی وب تنها به یک نوع ختم نمیشه. در حقیقت در سه حوزه امکان کسب مهارت و کار وجود داره:
Front-End
به انجام کدگذاریها و طراحی هر چیزی که در ظاهر سایت برای کاربر قابلمشاهده است، فرانت اند یا برنامهنویسی سمت کاربر (Client-Side) گفته میشه؛ مثل برنامهنویسیهای مرتبط با شکل و شمایل وبسایت، درج محتوا و…
Back-End
اگه برنامهنویسی سایت از طرف سرور و پایگاه داده انجام بشه، به اون، بک اند یا سمت سرور (Server-Side) گفته میشه. تو این نوع از برنامهنویسی، دادههای واردشده حفظ میشن و بعد از اینکه پردازش اونها انجام شد، به کاربر نشون داده میشن.
Full-Stack
اگر فردی مهارت انجام هر دو کار Front-End و Back-End رو داشته باشه، یعنی هم بتونه طراحی وب و هم حفظ و پردازش دادهها رو انجام بده، بهش برنامهنویس Full-Stack میگن. رسیدن به این درجه از مهارت واقعا کار آسونی نیست و باید براش تلاش کرد. پس اگه اهل اینجور کارا نیستین، از بین دو نوع اول برنامهنویسی وب، پی یکی برین.
برنامهنویسی موبایل

خب، حالا برای جوابدادن به سوال برنامه نویسی وب یا موبایل، بهتره به سراغ برنامهنویسی موبایل بریم. ببینیم که افراد ماهر در این بخش چه کاری انجام میدن. اپلیکیشنهایی داخل گوشی موبایل که هر روز از اونها استفاده میکنیم، همگی از کارای برنامهنویس موبایله. برنامهنویسای شاغل در این حوزه برای خودشون، استارتاپها یا مشاغلی باسابقهی دیگه برنامه و اپلیکیشن طراحی میکنن. تقاضا و کار به شرطی که مهارت برنامهنویس بالا باشه، زیاده و این موضوع برای برنامه نویسی وب یا موبایل، هر دو صدق میکنه.
برنامه نویسی وب یا موبایل؟
همونطورکه قبلا هم به شما گفتیم، انتخاب حوزهی کاری ساده نیست و تصمیمگیری در رابطه با اون به توجه به عوامل مختلفی بستگی داره. به همین دلیل این بار از دیدگاه این عوامل به برنامه نویسی وب یا موبایل نگاه میکنیم.
بیشتر بخوانیم: زبان برنامه نویسی پایتون Python چیست؟
سطح پیچیدگی یا دشواری
در نگاه اول به نظر میرسه که بین برنامه نویسی وب یا موبایل، برنامهنویسی موبایل آسونتره؛ اما بیاین ببینیم واقعا همینطوره یا نه. با اینکه میزان سختی چیزی رو نوع پروژه تعیین میکنه؛ اما در کل در مقایسه برنامه نویسی وب یا موبایل از لحاظ دشواری، باید بگیم که برنامهنویسی موبایل سختتره. یکی از نشونههای این موضوع اینه که برنامهنویسی وب، پیشنیاز نمیخواد. این در حالیه که برای شروع برنامهنویسی موبایل داشتن دانش و مهارت پیشنیاز ضروریه؛ چون بدون دانش قبلی در کدنگاری موبایل درک مفاهیم و کار با اونها غیرممکنه.
اما دربارهی نوع کامپیوتر و سختافزار چی؟ آیا برنامه نویسی وب یا موبایل با هر سختافزاری ممکنه؟ برنامهنویسی موبایل به سختافزارهای قدرتمندی مثل رایانهای با 8 گیگابایت رم و پردازنده i5 احتیاج داره. بر خلاف اون، برنامهنویسی وب حتی با سختافزارهای کمقدرتتر با رم 1 گیگابایت هم انجام میشه.
زبانهای برنامهنویسی
بین زبانهای برنامه نویسی وب یا موبایل گرچه زبانهای مختلفی برای یادگیری وجود داره؛ اما موارد مشترکی هم هست. حالا میتونین در این بخش با چند تا از این زبانها آشنا بشین. از محبوبترین زبانهای برنامهنویسی وب میشه به مواردی مثل آموزش پایتون، جاوا، جاوا اسکریپت، PHP، ASP.NET و Ruby اشاره کرد. پایتون، Swift، جاوا و Kotlin هم از زبانهای برنامهنویسی موبایلن که علاقمندان به حوزهی توسعه موبایل باید اونا رو یاد بگیرن.
تطبیقپذیری
یکم قبلتر گفتیم که در کل برنامهنویسی موبایل از وب سختتره. خب، حالا میخوایم ببینیم که از طریق کدوم یک از اینا میشه کارهای بیشتری انجام داد؛ برنامه نویسی وب یا موبایل؟ اگه سراغ برنامهنویسی تحت وب برین، باید HTML، CSS، Python و… که تو بخش قبل به اونها اشاره شد رو یاد بگیرین. یادگیری چنین مهارتها و زبانهای برنامهنویسی میتونه شما را نه تنها برای برنامهنویسی وب بلکه برای یادگیری ماشینی، اتوماسیون و اسکراپینگ وب، توسعه بازی و… هم خبره کنه. پس کارهای زیادی ازتون برمیاد. برای برنامهنویسی موبایل هم باید زبانهایی مثل Kotlin و Java رو یاد بگیرین. با این حال با مهارتهای این حوزه صرفا میشه به توسعه موبایل پرداخت.
منحنی یادگیری
برای توسعهی وب در کنار یادگیری زبانهای برنامهنویسی که بخش قبلی بهش اشاره کردیم، میشه چهارچوبهای AngularJS و ReactJS و بهعلاوه فریمورکهای سمت سرور از جمله NodeJS رو یاد گرفت. با این وجود مهارتهایی که میشه از طریق برنامهنویسی موبایل کسب کرد، کمتر از برنامهنویسی وب نیست. زبانهای برنامهنویسی جاوا، کاتلین، سیستمهای مدیریت پایگاه داده، گیت هاب و گیت همگی یه فرصتی بوجود میارن که شما نه تنها برنامهنویسی و توسعهی اندروید بلکه برنامهنویسی iOS هم یاد بگیرین. در نتیجه برنامه نویسی وب یا موبایل هر دو دانش و مهارتهای زیادی رو بهتون یاد میدن.
درآمد
خب، الان ما توی این قسمت از مقالهی کندو دربارهی برنامه نویسی وب یا موبایل، میخوایم دربارهی بخش موردعلاقهی شما یعنی درآمد بگیم. به نظرتون حقوق توسعهی وب بیشتره یا موبایل؟ تفاوت چندانی بین برنامه نویسی وب یا موبایل وجود نداره. با این حال درآمد برنامهنویسی موبایل یه کم بیشتره. از طرفی هم این درآمد و حقوق به مهارت و تخصص خود شخص بستگی داره. در نتیجه اگه یه برنامهنویس وب ماهر رو کنار یه برنامهنویس غیرحرفهای موبایل قرار بدیم و با هم مقایسهشون کنیم، در اینصورت حقوق برنامهنویس وب مطمئنا بیشتر میشه. پس اگه قراره حرفهای یادبگیرین و کار کنین، دیگه نگران درآمدتون نباشین.
فرصت شغلی

در رابطه با فرصتهای شغلی برنامه نویسی وب یا موبایل هم بهتره بدونین که هر دو در حال گسترشه. با این حال اگه خوب یادتون باشه، تو بخش مرتبط با سطح دشواری گفتیم که برنامهنویسی وب راحتتره. خب، همین موضوع از یه طرف باعث میشه که رقابت تو برنامهنویسی وب بیشتر از برنامهنویسی موبایل باشه. از طرف دیگه هم چون تعداد توسعهدهندههای موبایل کمتره، بیشتر خواستار دارن. با این حال انتخاب حوزهی برنامه نویسی وب یا موبایل صرفا مطابق این فاکتور و یا بحث درآمد، درست نیست؛ میپرسین چرا؟ خب، معلومه. اگه شما مهارت زیادی داشته باشین و با تخصص کافی کار کنین، همیشه کار براتون هست و حقوق خبلی خوبی هم بهتون پرداخت میشه.
سخن پایانی
ما امروز توی کندو تمام سعی خودمونو کردیم که هر چی لازمه رو درباره برنامه نویسی وب یا موبایل بگیم. خب، پس بالاخره چی شد؟ برنامه نویسی وب یا موبایل؟ راستش این انتخاب و صلاحدید شماست؛ اما بعد از فکرکردن راجع به مواردی که گفته شدن. اگه کمکم بتونین مسیری که واقعا بهش تعلق دارین رو پیدا کنین، بهزودی پیشرفتهای زیادی رو در کارتون میبینین. اگه سوالاتی در زمینه آموزش برنامه نویسی براتون پیش اومده که طی مقاله کندو ازش گفته نشده، میتونین از کاربلدهای خبره کندو و کارشناسهای باتجربهاش کمک بگیرین.