برنامه نویسی وب را چگونه یاد بگیریم؟
این سوالی هست که هرکسی بخواهد وارد دنیای برنامه نویسی وب شود از خودش می پرسد و خیلی از افراد در راه آموزش در این مسیر دچار سردرگم هستند و نمی دانند از کجا برنامه نویسی وب را شروع کنند.
در این مطلب اشاره مختصر و مفید و با زبانی صریح و ساده نگاهی خواهیم کرد به سیر کامل برنامه نویسی وب که از کجا شروع کنیم و به کجا برسیم؟!
برنامه نویسی وب را با بایت لرن تجربه کنید.
انواع برنامه نویسی وب چیست؟
در کل ۲ نوع وبسایت داریم، وبسایت های استاتیک یا ایستا و وبسایت های داینامیک یا پویا.
وبسایت های استاتیک یا ایستا : وبسایت های ایستا یا استاتیک، به وبسایت هایی گفته می شود که محتوا ثابت است و به منظور اضافه کردن محتوای جدید، میباست مجدداً کدنویسی کرد.
مثلاً شما یک وبسایت دارید با ۵ صفحه و به منظور اضافه کردن صحفه جدید، می بایست مجدد کدنویسی کنید و سایر صفحات را نیز به منظور دسترسی به این صفحه، ویرایش کرده و پیوند به این صفحه جدید را ایجاد کنید. به این چنین وبسایت هایی، وبسایت ایستا گفته می شود.
وبسایت های داینامیک یا پویا : وبسایت های پویا، در مقابل وبسایت های ایستا قرار دارند و کار با این نوع وبسایت ها، به مراتب اسان تر و همینطور بهتر می باشد. در وبسایت های پویا، شما یکبار کدنویسی هسته را انجام می دهید و سپس با آسانی می توانید مطالب را منتشر کنید.
به طور مثال اگر با سرویس های بلاگدهی کار کرده و آشنایی داشته باشید، می توانید یک سایتی طراحی کنید که با استفاده از پنل مدیریت داده هایی را دریافت کرده و به صورت پویا در سایت نمایش دهد و در صورت انتشار مطلب و محتوای جدید، احتیاجی به کدنویسی نیست.
HTML، اولین زبان برنامه نویسی وب
HTML که سرواژه های Hypertext Markup Language می باشد، یک زبان نشانه گذاری می باشد که به منظور ایجاد ساختار و قالب صفحه وب مورد استفاده قرار میگیرد. به کمک HTML شما می توانید مشخص کنید که در صفحه وب خود چند بخش دارید و محتوای هر بخش را مشخص کنید.
زبان HTML، جزء لاینفک برنامه نویسی وب است و شما هر سایتی که بخواهید طراحی کنید، به هر زبانی، می بایست که با استفاده از HTML ساختار اولیه سایت خود را آماده کرده و سپس با استفاده از سایر زبان ها، کدنویسی های دیگر بخش ها را انجام دهید.
به طور مثال می خواهید مشخص کنید که سایت شما ۴ قسمت با عناوین سربرگ، ستون کناری، کادر محتوا و پاصفحه داشته باشد. می بایست در ابتدای کار با استفاده از html این قسمت را ایجاد و تعریف کنید و سپس با استفاده از سایر زبان ها، کد نویسی های دیگر بخش ها را انجام دهید.
CSS، زبان مخصوص استایل دهی
هنگامی که زبان HTML ارائه شده، صرفاً به منظور نمایش متن و عکس ارائه شده بود انتظار نمی رفت تا سایت های کنونی را طراحی کرد. همانطور که گفتیم، زبان html صرفاً ساختار سایت را طراحی می کند یعنی شما فقط می توانید مشخص کنید که سایتتان چه اسکلتی دارد، اما نمی توانید مشخص کنید که این اسکلت بندی، به چه شکلی باشد.
به منظور بهبود سایت های طراحی شده و همینطور شکل دهی به وبسایت ها و رفع نواقص زبان HMTL، زبان CSS ارائه شد.
CSS که مخفف Cascade Style Sheets می باشد، یکی دیگر از زبان های نشانه گذاری تحت وب است که به کاربر این امکان را می دهد تا مشخص کنید که در صفحه وب طراحی شده، هر کدام از اجزای سایت، چه شکلی و ابعادی داشته باشد. در واقع زبان CSS به منظور تکمیل طراحی رابط کاربری وبسایت ارائه شد.
جاوا اسکریپت، نخستین زبان اسکریپت نویسی تحت وب
بعد از ارائه زبان های HTML و CSS، نیاز شدیدی به یک زبان احساس می شد تا به کاربر این امکان را دهد که بتواند در سمت کاربر بازدید کننده، برنامه نویسی خاصی انجام دهد.
زبان html صرفاً به منظور طراحی ساختار سایت مورد استفاده قرار می گیرد اما به منظور انجام برخی امور، مانند اعتبارسنجی فرم ها، برقراری ارتباط با سرور و انجام برخی امور سمت کاربر و..، زبان html قدرت کافی را نداشت.
به منظور برطرف کردن این مشکل، در سال ۱۹۹۵، زبان برنامه نویسی livescript که بعدها به جاوا اسکریپت تغییر نام داده شد، ارائه گردید. متأسفانه اشتباهی که بیشتر کاربران می کنند، این است که این زبان برنامه نویسی را با جاوا اشتباه می گیرند این برداشت را دارند که این زبان، از مشتقات زبان جاوا می باشد. در صورتی که اینطور نیست!
به کمک زبان جاوا اسکریپت شما می توانید در وبسایت خود، بر روی قسمت های دیگر وبسایت کنترل داشته و عملکرد بخش های مختلف وبسایت را کنترل کرده و یا حالات و شرایط خاصی را پیاده سازی کنید.
در کنار اهمیتی که جاوا اسکریپت دارد، کتابخانه های ان نیز بسیار مهم هستند. تکنولوژی Ajax نیز بر پایه جاوا اسکریپت پیاده سازی شده است. همچنین، جاوا اسکریپت دارای کتابخانه هایی است که هر کدام می توانند در قسمت های مختلفی، کاربر داشته باشند به طور مثال jQuery و یا AngularJS.
jQuery، یکی از مهمترین کتابخانههای جاوا اسکریپت
jQuery یکی از کتابخانههای جاوا اسکریپت است که به منظور تسهیل کدنویسی به زبان جاوا اسکریپت، مورد استفاده قرار میگیرد. در جاوا اسکریپت به منظور انجام برخی امور، نیاز بود تا حجم بالایی از کدها نوشته و پیاده سازی شود. این کار علاوه بر اینکه حجم صفحات را بالا می برد، باعث افزایش زمان کدنویسی نیز میشد و مشکلاتی فراوانی را در بر داشت.
در jQuery یک سری از این مباحث کدنویسی شده و آماده هستند و به منظور دسترسی به این قطعه کدها و انجام آن امور، به جای نوشتن حجم بالای کدهای جاوا اسکریپت، کافیست تا با استفاده از قوانین و قواعد تعیین شده برای jQuery، همان کار را با چند خط کد انجام دهید. این کار مزایای زیادی دارد که از مهمترین ان ها، صرفه جویی در زمان میباشد.
در کنار تمام این مزایا، jQuery شامل لیست کاملی از توابع مربوط به کارهای گرافیکی میباشد و به شما این امکان را میدهد تا جلوههای زیبایی را در وبسایت خود پیاده سازی کنید.
نکته : اگر شما با استفاده از زبانهای معرفی شده در بالا، سایتی را طراحی کنید، سایت شما سایتی ایستا خواهد بود که محتوا و تمامی صفحات ثابت هستند و اگر بخواهید صفحهای جدید و یا بخش جدید به صفحات اضافه کنید، میبایست کدنویسی تمام صفحات را تغییر دهید. اما قبل از بررسی توضیحات سایتها پویا، اجازه دهید تا کمی در مورد لایههای برنامه نویسی صحبت کنیم.
لایه های برنامه نویسی وب
در زمینه برنامه نویسی، می توان گفت که برنامه نویسی در دو لایه کلی انجام می شود. لایه Front-End که برنامه نویسی انجام شده در این بخش، مربوط به رابط کاربری است و لایه Back-End که برنامه نویسی انجام شده در این بخش، مربوط به پشت صحنه است و کاربر به صورت مستقیم آن را حس نمی کند، اما نتیجه اجرای کدهای نوشته شده در Back-End، به کاربر نمایش داده می شود.
به صورت دقیق تر بخواهیم بگوییم، کاربر در Front-End، کاری را انجام می دهد. به طور مثال، فرمی را پر می کند، این اطلاعات از طریق Front-End به Back-End ارسال شده و در Back-End پردازش می شود و نتیجه پردازش به Front-End بازگشت داده شده و در قالب مشخص شده، به کاربر نمایش داده می شود.
زبان هایی که در بالا معرفی شدند، مربوط به کدنویسی قسمت Front-End می شود اما به منظور کدنویسی در Back-End، چند زبان وجود دارد که از مهمترین آن ها، PHP و ASP.Net می باشد. همچنین به منظور طراحی سایت های پویا، می بایست از زبان های برنامه نویسی PHP و Asp.NET و جاوا و پایتون استفاده کرد.
PHP، پراستفاده ترین زبان برنامه نویسی وب
زبان برنامه نویسی PHP را می توان پر استفاده ترین زبان برنامه نویسی تحت وب دانست. تا کنون بیش از ۷۰ درصد وبسایت ها با استفاده از این زبان برنامه نویسی پیاده سازی شده اند. زبان PHP یک زبان برنامه نویسی سمت سرور است یعنی کدهای نوشته شده بر روی سرور اجرا شده و نتیجه خروجی برای کاربر ارسال می شود.
زبان برنامه نویسی PHP یک زبان متن باز می باشد که در سال ۱۹۹۵ توسط راسموس لردورف ایجاد و ارائه شد. این زبان برنامه نویسی به دلیل متن باز بودن و همینطور رایگان بودن، مورد اقبال افراد زیادی قرار گرفت و همینطور توسعه های فراوانی برای این زبان برنامه نویسی ارائه شد.
از همین زبان برنامه نویسی به منظور توسعه برنامه های تحت وب زیادی استفاده شد که از جمله این برنامه ها می توان به موارد زیر اشاره کرد:
- وردپرس: سیستم مدیریت محتوا
- جوملا: سیستم مدیریت محتوا
- دروپال: سیستم مدیریت محتوا
- اپن کارت: فروشگاه ساز آنلاین
- مجنتو: فروشگاه ساز آنلاین
- همینطور بسیاری از وبسایت های مطرح نیز با استفاده از این زبان برنامه نویسی راه اندازی شده اند مانند شبکه اجتماعی فیسبوک و دایره المعارف ویکی پدیا و …
مزایای استفاده از PHP در زمینه طراحی وب سایت:
- یادگیری آسان
- شباهت بالای دستورات به زبان C
- متن باز بودن و رایگان بودن
- مختص طراحی صفحات وب است
- سرعت اجرای بالا نسبت به سایر زبان های برنامه نویسی تحت وب
- امکان اجرا و استفاده بر روی چند سیستم عامل و پلتفرم مختلف
- امکان استفاده از پایگاه داده MySQL که اینکار باعث افزایش امنیت اطلاعات می شود.
ASP.Net، زبان برنامه نویسی تحت وب مایکروسافت
زبان ASP.net از جمله زبانهای برنامه نویسی مطرح میباشد که در زمینه برنامه نویسی وب کاربرد دارد. این زبان برنامه نویسی که توسعه یافته زبان ASP میباشد توسط شرکت مایکروسافت و همینطور در چارچوب نرم افزار .Net ارائه شده است تا کاربرانی که از زبانهای برنامه نویسی.net استفاده میکنند، بتوانند با استفاده از همین دستورات و زبانها، وب سایت و برنامههای تحت وب ایجاد کنند.
طراحی وب سایت نیز به زبان برنامه نویسی ASP.Net نیز بسیار ساده است. کافی است تا شما به یکی از زبانهای برنامه نویسی VB.Net و یا C#.Net آشنایی داشته باشید و همینطور به دستورات خود زبان Asp.Net آشنایی داشته باشید.
مزیت برنامه نویسی به زبان ASP.Net این است که وبسایت های طراحی شده با این زبان، در محیط ویژوال استادیو پیاده سازی میشوند و تمامی ابزارهای مورد نیاز برای طراحی رابط کاربری و همینطور کدنویسی در دسترس است. شما میتوانید یک صفحه را به عنوان صفحه والد ایجاد کنید و تمامی طراحیهای مشترک را در این صفحه انجام داده و مابقی صفحات را به عنوان صفحه فرزند، تعریف کنید تا این خصوصیات را به ارث برند.
مزایای طراحی وب سایت با استفاده از ASP.Net در زمینه طراحی وب:
- پاسخگویی بهتر به درخواستهای کاربر
- امکان عیب یابی و رفع خطا
- کامپایل شدن صفحات
- استفاده از چند زبان برای برنامه نویسی و عدم محدودیت کاربر به استفاده از یک زبان خاص
- توسعه تحت.Net Framework
- به دلیل کامپایل شدن صفحات، سرعت اجرای بیشتری دارد.
Django یا جنگو، چارچوب برنامه نویسی تحت وب با استفاده از پایتون
زبان برنامه نویسی پایتون، از جمله زبان های برنامه نویسی نوظهور می باشد که این امکان را به کاربر می دهد تا برای پلتفرم های مختلف ویندوز و وب، برنامه های مختلفی را آماده کرده و ارائه کند. زبان پایتون، به صورت پیش فرض امکان برنامه نویسی تحت وب را ندارند اما با استفاده از فریمورک یا چارچوب جنگو، شما می توانید برنامه های تحت وب را به زبان پایتون پیاده سازی کنید.
مزایای استفاده از Django برای طراحی وب:
- بر پایه پایتون است و نیاز به یادگیری زبان جدید نیست.
- ساختار یکپارچه و مناسب
- برنامه های آماده ای برای آن در دسترس است.
- در دسترس بودن ماژول های آماده
- یادگیری آسان دستورات
- ابزار مناسب برای رفع خطا
JSP، نسخه مخصوص جاوا برای برنامه نویسی وب
JSP سرواژه کلمات Java Server Page می باشد که توسط شرکت SUN ارائه شده است. با استفاده از این تکنولوژی شما می توانید به کمک کلیدواژه های ارائه شده، از قطعه کدهای جاوا در صفحات وب خود استفاده کنید. این کار به شما کمک می کند تا وبسایت های پویا راه اندازی کنید.
کلید واژه های JSP، در زمینه های مختلفی در دسترس هستند و شما می توانید به کمک این کلید واژه ها قسمت های مختلف وبسایت خود مانند مدیریت ارتباط با پایگاه داده و تبادل اطلاعات، بررسی رویدادهای مختلف و پیاده سازی انواع روال ها و… دسترس داشته باشید و بتوانید در تمامی قسمت های وبسایت های خود مدیریت داشته باشید.
مزایای استفاده از JSP در زمینه طراحی صفحات وب:
- قابلیت استفاده از کدهای جاوا در پلتفرم های مختلف همان سیاست یکبار بنویس و چند جا اجرا کن!
- آسان بودن ویرایش فایل ها و عدم وابستگی به ویرایشگر خاص. به طور مثال طراحی صفحات ASP.Net وابسته به استفاده از ویرایشگر Visual Studio می باشد.
- اشتباه از کلیدواژه ها و برچسب های کتابخانه مشترک با XML
- قابلیت تفکیک کدها به دو دسته کدهای گرافیکی و کدهای پویا، به منظور افزایش سرعت اجرا
- قابلیت استفاده مجدد اجزا توسط Javabeans and EJB
جمع بندی کلی
بعد از برسی زبان های مطرح شده، در حال حاضر نیاز به وبسایت های ایستا زیاد نیست و ۹۹ درصد وبسایت ها در قالب وبسایت های پویا راه اندازی شده اند اما این به این معنی نیست که شما نیازی به یادگیری زبان های HTML و CSS و جاوا اسکریپت و jQuery ندارید، بلکه نیاز شما به یادگیری این زبان ها همچنان پابرجاست.
در روال طراحی یک سایت، ابتدا ساختار اصلی سایت با استفاده از HTML پیاده سازی می شود، سپس با استفاده از CSS، برای این ساختار، مشخص می شود که هر کدام از اجزای صفحه با چه شکلی به کاربر نمایش داده شود.
به منظور انجام برخی امور مانند اعتبار سنجی تکمیل صحیح فرم ها، نیاز است تا کدنویسی جاوا اسکریپت انجام شود و در صورتی که مایل باشید جلوه تصویری و یا تنظیمات انیمیشنی خاصی برای سایت خود پیاده سازی کنید، نیاز است تا با استفاده از jQuery این کار را انجام دهید.
حال رابط کاربری سایت شما آماده است و به منظور تبدیل سایت خود به یک وبسایت پویا، نیاز است تا با استفاده از زبان های برنامه نویسی مانند PHP، ASP.Net،JSP و یا فریمورک جنگو، کدنویسی مورد نظر را انجام دهید.