زبان‌ها و ابزارهای توسعه‌ی وب

امروز بالاخره بعد از مدت‌ها یادگیری طراحی وب رو شروع کردم و تصمیم دارم در اینجا درباره‌ی روند یادگیریم بنویسم. تا اینجای کار فهمیدم که یک وب سایت از دو قسمت «Front End» و «Back End» تشکیل میشه. Front End قسمتی است که شما در مرورگر خودتون می‌بینید و با جنبه‌های بصری اون تعامل دارید. Back End بخشی است که قسمت Front End را در پشت صحنه تامین می‌کند و عمدتاً مربوط به ذخیره داده‌ها در پایگاه داده و ارائه آن به قسمت Front End است. بنابراین مشاغل توسعه وب به سه دسته اصلی تقسیم می شوند.

  • Front-end Development
  • Back-end Development
  • Full-Stack Development

که Full-Stack Development هر دو (Front-End & Back-End) را شامل می‌شود. با توجه به نیازی که برای انجام کارها دارم فکر می‌کنم مناسب‌ترین گزینه در حال حاضر همین باشه، البته این موضوع کار یادگیریم رو سخت‌تر می‌کنه.

توسعه دهندگان Front End برای ساختن صفحات بصری سایت از HTML، CSS و Java Script استفاده می‌کنند.

  • HTML مخفف Hyper Text Marcup Language است.
  • CSS هم مخفف Cascading Style Sheet است.
  • Java Script هم گویا مخفف چیز خاصی نیست.

از HTML برای ساختن قالب کلی صفحات وب استفاده می‌کنیم و از CSS هم برای اضافه کردن جذابیت‌های بصری مثل رنگ و … استفاده میشه و در آخر با Java Script نحوه عملکرد‌ صفحات وب رو کنترل می‌کنیم.

اگر بخوام یک مثال برای فهم بهتر موارد بالا بزنم، باید صفحات وب را به یک ساختمان تشبیه کنم، وقتی در حال ساختن فونداسیون و اسکلت یک ساختمان هستیم، در اصل داریم با HTML ساختار کلی صفحات وب را می‌سازیم، وقتی در حال نماکاری ساختمان، مثل نقاشی، سرامیک‌کاری، گچ‌بری، نما و … هستیم در اصل داریم با CSS جذابیت‌های بصری به وب‌سایت اضافه کنیم و زمانیکه دکمه‌ی آسانسور را می‌زنیم، آسانسور به طبقه‌ی مورد نظر میرسه و درب‌های اون باز میشه، یه جورایی داریم با Java Script نحوه‌ی عملکرد صفحات وب رو کنترل می‌کنیم. یه جورایی میشه گفت جاوا اسکریپت به صفحات وب رفتار می‌بخشه.

Java Script یک زبان برنامه‌نویسی است درحالیکه HTML و CSS زبان برنامه‌نویسی نیستند در واقع ما از اونها برای اینکه به کامپیوتر بگیم چه کاری رو برای ما انجام بده استفاده نمی‌کنیم. در واقع فقط برای ایجاد ساختار کلی و جذابیت‌های بصری ازشون استفاده می‌کنیم. هر صفحه‌ی وب که در اینترنت می‌بینید با این سه زبان ساخته شده‌اند. برای همین منم باید این سه زبان رو یاد بگیرم و بفهمم.

  • HTML —– > Markup Language
  • CSS —-> Styling Language
  • Java Script —–> Programming Language

مسیر یادگیری

برای شروع ماجراجویی در Front End اول باید HTML و CSS رو یاد بگیرم، تا جایی که بررسی کردم اگر به مدت یک ماه تا یک ماه و نیم، بین ۳ تا ۵ ساعت در روز برای مطالعه‌ و کد زدن زمان بگذارم می‌تونم به یک درک معقولی از این دو زبان برسم. بعدش باید برم سر وقت Java Script اینم با بررسی‌هایی که کردم حداقل ۶ هفته برای رسیدن به یک درک نسبی ازش زمان نیاز دارم، البته به شرط اینکه وقت کافی در روز برای یادگیریش صرف کنم.

فریم ورک‌ها

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

بنابراین فریم‌ورک‌ها به ما کمک می‌کنند کار را سریعتر انجام بدیم، به همین دلیل است که بسیاری از شرکت‌ها امروزه از یکی از این فریم‌ ورک‌های محبوب مانند React، Angular یا Vue استفاده می‌کنند. از نظر فنی React یک فریم ورک نیست، بلکه یک کتابخانه است، همه این ابزارها به ما کمک می‌کنند تا برنامه‌ها را سریع‌تر بسازیم.

البته شما نیازی نیست همه‌ی فریم‌ ورک‌ها را یاد بگیرید، شرکت‌های مختلف از ابزارهای مختلفی برای پروژه‌های مختلف استفاده می‌کنند، وقتی شما از یک پروژه به پروژه‌ی دیگه‌ای میرید، ممکنه مجبور بشید درباره‌ی ابزارهای دیگه هم تحقیق کنید.

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

ورژن کنترل سیستم

ما از Version Control System برای نگه داشتن تاریخچه‌‌ی پروژه‌ها برای تجدید نظر استفاده می‌کنیم. وظیفه‌ی این سیستم‌ها مدیریت تغییرات در اسناد است. تعداد زیادی VCS داریم مثل Git، Subversion و Mercurial ولی معروف‌ترین این ابزارها Git است. که برای یادگیری آن هم حدودا به دو هفته زمان نیاز دارم.

 

برای این نوشته یادداشت بگذارید.