آیا تا به حال به این فکر کردید که تفاوت برنامه نویسی یا توسعه وب و طراحی وب چیست و هر کدام از این تخصص ها چه نقشی در دنیای طراحی و توسعه وب سایت های اینترنتی دارند؟ دنیای توسعه وب دنیای بسیار پرشاخه و گستردهای است. از طرفی افرادی وجود دارند که یک وبسایت را طراحی میکنند، از طرفی افرادی آن را برای موتورهای جستجوگر بهینه میکنند، از طرفی دیگر افرادی آن را داینامیک میکنند و… . پس با صنعت بسیار پیچیده و پر از رمز و راز طرف هستید. در این مطلب قصد دارم به شما بگویم که فرق دو مورد طراحی و برنامهنویسی در حوضه وب چیست و چه دانشی برای تبدیل شدن به هرکدام این موارد لازم است.
طراح وب عموما به فردی گفته میشود که حالت ظاهری وبسایت را طراحی میکند. دقت کنید، حالت ظاهری! ظاهر یک وبسایت و چیزی که کاربر نهایی با آن تعامل برقرار میکند را Client-Side یا سمت-مشتری میگویند. طراحان وب برای طراحی یک وبسایت عموما ابزار طراحی مانند فوتوشاپ را برای ساختن prototype یا نمونهاولیه به کار میگیرند. بعد از طراحی نمونهاولیه، حال نوبت آن است که طرح را وارد دنیای مرورگر و کدنویسی کنید. توجه داشته باشید که کدنویسی و برنامهنویسی دو مفهوم کاملا جدا از هم هستند. طراحان وب برای تبدیل نمونهاولیه به یک حالت زنده و واقعی به دانش HTML، CSS و جاوااسکریپت نیازمند هستند.
البته این موارد پایه هستند و هر طراحی باید آنها را بداند. اساسا به فردی که میتواند با استفاده از این ابزارها یک صفحه وب را طراحی کند Front-End Developer یا توسعه دهنده فرانت-اند نیز میگویند. پس اگر در رزومههای کاری چنین عنوانی را مشاهده کردید بدانید که در رابطه با چه چیزی در حال صحبت هستند. توسعه دهندگان فرانت-اند برای تسریع کار و دقت بیشتر در انجام آن از کتابخانهها و فریمورکهای مرتبط به حوضه کاریشان استفاده میکنند. یکی از محبوبترین کتابخانهها که معمولا اولین کتابخانهای است که طراحان وب سراغ آن میروند Jquery یا جیکوئری است.
با استفاده از این کتابخانه میتوانید در انجام کدنویسیهای مربوط به جاوااسکریپت کارتان را سرعت بخشید و با دقت بیشتری کارها را انجام دهید. خیلی از افراد به اشتباه جاوااسکریپت را با جیکوئری مقایسه میکنند، در حالت عادی باید گفت که کتابخانهها هیچوقت با یک زبان مقایسه نمیشوند، ما از کتابخانهها استفاده میکنیم تا فرایند کدنویسی توسط یک زبان خاص را تسریع ببخشیم اما نمیتوانیم آن را به عنوان یک جایگزین کامل در نظر بگیریم. این مورد بسیار مهم است که باید به آن توجه کنید. بعد از جیکوئری نوبت به کتابخانههایی میرسد که عموما برای ساخت لایه View وبسایتها استفاده میشود. اگر با معماری MVC و MVVM آشنایی داشته باشید متوجه خواهید شد. از جمله این فریمورکها میتوان به Angular، React، VueJS و موارد دیگر اشاره کرد.
اغلب از عنوان برنامهنویس وب استفاده نمیشود، اما در این مقاله فردی گفته میشود که با یک زبان برنامهنویسی سمت سرور آشنایی دارد و میتواند وبسایت را به یک بانک اطلاعاتی ارتباط دهد. این افراد کاری به طراحی وبسایت و لایه کاربری یا مشتری ندارند، بلکه در پشت ظاهر وبسایت مشغول انجام کارهایی مانند آنالیز، ذخیره و بازیابی داده و مواردی از این قبیل هستند. عموما این افراد در لایه Server کار میکنند و به آنها Back-End Developer یا توسعهدهنده بک-اند گفته میشود.
این افراد در یکی از زبانها یا فریمورکهای برنامهنویسی مرتبط با لایه بک-اند مانند PHP یا ASP.net حرفهای هستند و میتوانند با آن وبسایت را مدیریت کنند. جدای از این مورد این افراد وظیفه دارند تا کار با یکی از سیستم های مدیریت بانک اطلاعاتی مانند MySQL یا MongoDB را بدانند. برای مدیریت بانک اطلاعاتی از طریق زبان بک-اند (مثلا PHP) از زبانی به نام SQL استفاده میکنند. اغلب برنامهنویسان وب در حوضههای مدیریت سرور، نصب آن، برقراری امنیت و … نیز تخصص دارند اما این موارد جزو الزامات محسوب نمیشود. از محبوبترین پکیجهای کاری برنامهنویسان یا توسعهدهندگان Back-End میتوان پکیج LAMP یا LinuxApacheMySQL/PHP را نام برد که در آن تمام ابزارها برای مدیریت یک وبسایت قرار داده شده است.
در این بین توسعهدهندگانی وجود دارد که هم در زمینه Front-End و هم در زمینه Back-End تخصص دارند. این افراد معمولا حقوق بسیار زیادی دارند و سادهتر جذب شرکتهای مختلف میشوند. بسیاری از افرادی که مشغول کار به صورت فریلنسری هستند مجبورند که از این نوعِ توسعهدهنده باشند، به این دلیل که عموما در فریلنسری چیزی به اسم همکاری وجود ندارد و شما باید تمام کارها را انجام دهید، اما در یک شرکت بزرگ تک تک کارها به افراد متخصص آن کار داده میشود. ناگفته نماند که وقتی یک استارتاپ تازهای شکل میگیرد به دلیل محدودیت بودجه معمولا این افراد استخدام میشوند.
همانطور که گفته شد تخصصهای مرتبط به فضای وب بسیار گسترده و وسیع است. طراحی و برنامهنویسی وب دو مورد بسیار مهم از این تخصصهاست که نباید به اشتباه آنها را یکی دانست. این دو تخصص از هم جدا هستند و هیچ احتیاجی نیست که یک فرد در هر دو مورد متخصص باشد. همانطور که گفته شد در شرکت های بزرگ برای هر قسمت از کار افراد متخصص آن استخدام میشوند. برای مثال یک فرد یا گروه کاری را صرفا برای توسعه فرانت-اند، فرد یا گروه کاری را برای توسعه بک-اند، فرد یا گروه کاری برای سئو و بازاریابی و … استخدام میشوند.
وبلاگنویس، برنامهنویس وب و مدرس
وبلاگنویس، برنامهنویس وب، مدرس، علاقهمند به مطالعه علوم انسانی و هوش مصنوعی و چند تا چیز دیگه.
12 شهریور 1396 این مطلب را ارسال کرده