چرا برنامه نویسی وب مهم است ؟

زمانی بسیاری از نرم افزار ها بر روی سیستم عامل نصب میشدند و حتی خیلی از نرم افزارهای سازمانی مبتنی بر دسکتاپ (رومیزی) بودند و برای استفاده بصورت مشترک باید نسخه تحت شبکه آنها خریداری میشد، هرچند هنوز هم بسیاری از این مدل نرم افزارها مانند نرم افزارهای حسابداری وجود دارند و برای استفاده و تعامل با یکدیگر باید نسخه تحت شبکه آنها خریداری شود، اما روز به روز به مقبولیت و محبوبیت نرم افزارهای تحت وب افزوده میشود، بطوریکه اولویت اول برای سازمان ها داشتن نرم افزارهای تحت وب است، مرورگرهای وب روی تمام سیستم های عامل نصب هستند و همه آنها از زبان های سمت کلاینت یعنی HTML / CSS / JS پشتیبانی میکنند، لذا بدون داشتن دغدغه سازگاری با سیستم های مختلف خیلی راحت میتواند نرم افزارهایی طراحی کرد که روی تمام پلتفرم ها از جمله موبایل، دسکتاپ و یا حتی تلویزیون های هوشمند قابل نصب و اجرا باشند، اصطلاح برنامه های PWA امروزه اشاره به همین موضوع دارد، با گسترش برنامه های PWA کم کم برنامه های دسکتاپ قدیمی منسوخ میشوند و اینگونه برنامه ها جای آنهارا می گیرند، و یا برنامه های موبایل ترکیبی (هایبریدی) از زبان های برنامه نویسی سمت کلاینت یعنی HTML / CSS / JS استقاده میکنند تا ظاهر برنامه های خود را در سیستم های عامل مختلف حفظ کنند.

برنامه نویسی وب را از کجا شروع کنیم ؟

برای شروع برنامه نویسی وب قدم اول شناخت برنامه های وب است، و اینکه برنامه های وب از چه اجزایی تشکیل شده اند و یک برنامه وب برای اجرا شامل چه مراحلی است، برنامه های وب عموما به دو بخش سمت سرور (بک اند) و سمت کلاینت (فرانت اند) دسته بندی میشوند، کلیه بخش های مرتبط با منطق برنامه و ارتباط با بانک های اطلاعاتی و بطور عامیانه بخش پشت صحنه یک نرم افزار تحت وب تحت عنوان سمت سرور و یا بک اند شناخته میشود و کلیه بخش های ظاهری و رابط کاربری برنامه های تحت وب تحت عنوان سمت کلاینت یا فرانت شناخته میشوند، البته اصطلاحات سمت سرور و سمت کلاینت اصطلاحات کلی هستند و میتوانند برای برنامه های ویندوزی (دسکتاپی) هم مورد استفاده قرار گیرند، برنامه های سمت کلاینت یا فرانت از سه زبان اصلی HTML / CSS / JS تشکیل شده اند و برای زبان های برنامه نویسی سمت سرور گزینه های متعددی مانند PHP، Python ، Ruby ، Java  و ده ها زبان دیگر وجود دارند، قدم اول شناخت و انتخاب از بخش های برنامه های وب است، یعنی شما یا می خواهید برنامه نویس بک اند شوید و یا می خواهید برنامه نویس فرانت اند شوید، البته این نه به معنای این است که برنامه نویس بک اند چیزی از سمت فرانت نداند و برعکس بلکه هرکدام باید اطلاعات اولیه ای از دیگری داشته باشند، هرچند تخصص های سمت فرانت و بک روز به روز گسترده تر میشوند اما برای پروژه های نسبتا کوچک شما میتوانید بعنوان یک برنامه نویس فول استک کار کنید، یعنی هر دو بخش بک اند و فرانت را به عهده بگیرید و کد بزنید.

فرق بین برنامه نویسی وب و طراحی وب چیست ؟

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

چه زبان هایی برای برنامه نویسی وب مناسب هستند ؟

همانطور که گفتیم منظورمان در این متن از برنامه نویسی وب، سمت بک اند است، برای برنامه نویسی وب زبان های متنوعی وجود دارند، زبان برنامه نویسی وب پی اچ پی (PHP) یکی از قدرتمندترین زبان های اسکریپت نویسی تحت وب است که بسیاری از وبسایت ها مانند فیسبوک، یاهو و تامبلر با این زبان کد نویسی شده اند، نرم افزار مدیریت محتوای قدرتمند وردپرس با این زبان نوشته شده است و بیش از ده ها فریم ورک (Framework) و کتابخانه قدرتمند برای این زبان وجود دارد، همچنین زبان پایتون (Python) یک زبان برنامه نویسی قدرتمند است که علاوه بر وب امکان برنامه نویسی دسکتاپ نیز برای آن وجود دارد، طبق رتبه بندی که اخیرا انجام شده است، زبان برنامه نویسی پایتون و جاوا اسکریپت اولین رتبه را در زبان های برنامه نویسی وب کسب کرده اند، زبان پایتون هم کتابخانه ها و فریم ورک های متنوعی مانند فلسک، جنگو برای طراحی برنامه های وب دارد، زبان جاوا اسکریپت هم علاوه بر اینکه یک زبان سمت فرانت است اما میتوان با پلتفرم هایی مانند نود (NodeJS) و دنو (Deno) سمت سرور کد نویسی کرد.

امروزه زبان گو (GoLang) برای برنامه نویسی بک اند بسیار مورد توجه قرار گرفته است، همچنین زبان های برنامه نویسی جاوا و سی شارپ همچنان مقبولیت سابق خود را در این حیطه حفظ کرده اند.

از چه ابزارهایی برای برنامه نویسی وب استفاده کنیم ؟

ابزارهای برنامه نویسی وب بسته به کاری که می خواهیم بسیارم متنوع هستند، ابزارهای محیط توسعه به دو دسته تقسیم میشوند، یکی ویرایشگر های کد (Code Editor) هستند که معمولا حجم کمی دارند و امروزه بسیار مورد توجه برنامه نویسان قرار گرفته، مانند VIM و VS Code که قابلیت های زیادی مانند امکان نصب افزونه های متنوع و پشتیبانی از زبان های برنامه نویسی متنوع را شامل میشوند، یکی دیگر از ابزارها محیط های توسعه و یا IDE ها هستند که معمولا حجم سنگین تری برای نصب دارند و عموما غیر رایگان هستند مانند محصولات JetBrains ، و محصولات ادوبی (Adobe)، بعنوان مثال نرم افزار وب استورم (WebStorm) متعلق به شرکت جت برینز و نرم افزار دریم ویور (Dreamweaver) متعلق به شرکت ادوبی معروف ترین این ابزارها هستند.

از چه منابعی برای یادگیری برنامه نویسی وب استفاده کنیم ؟

بهترین روش یادگیری بستگی به استعداد و علاقه مندی هر فردی دارد، اما بهترین روشی ما همیشه برای یادگیری برنامه نویسی توصیه میشود، این است که بصورت خرد خرد و پروژه محور بیشترین بازدهی را دارد، از یک پروژه کوچک شروع کنید مانند یک سایت آموزشی، برنامه حسابداری تحت وب  و … ، و کم کم مهارت خود را بالا ببرید.

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