رشد روز افزون وبگاهها با کارکردهای گوناگون و همین طور شکلگیری ایدههای نو در فضای وب باعث شده که زبان های برنامه نویسی تحت وب به سرعت پیشرفت کنند و به این ترتیب باز هم بر پیچیدگیهای موجود بیفزایند. هدف این مطلب، کاستن از این پیچیدگیها و ارائه یک طبقه بندی کلی از برخی از این زبانهاست. ماهیت زبانهای برنامه نویسی وب مانند دیگر زبانهای برنامه نویسی است با این تفاوت که در سمت سرور تفسیر میشوند و در مرورگرها خروجی آن به نمایش در میآید. دراین مطلب چند زبان پرطرفدار وب معرفی میشود.
زبان های برنامه نویسی تحت وب
هر زبان برنامه نویسی برای کار خاصی مناسب است. بنابراین برنامه نویسی وب نیز زبان خاص خودش را دارد. در این مقاله به پاسخ به این سوال که زبان های برنامه نویسی تحت وب چه هستند و چرا از زبان های برنامه نویسی استفاده میکنیم خواهیم پرداخت.
توسعه وب سایت دارای دو رویکرد کلی تحت عناوین طراحی وب (Web design) و برنامه نویسی وب (Web programming) است که هر یک دارای زبانهای متعددی برای ساخت یک وبگاه هستند. با توجه به این دو گرایش؛ دسته بندی دقیقتری را میتوان در مورد زبان های برنامه نویسی تحت وب ارائه کرد:
زبان های برنامه نویسی سمت کاربر (client side)
برنامه نویسی سمت کاربر، برای بارگذاری صفحات سایت به سرور نیاز ندارد و می توان از طریق یک ویرایشگر متن مانند notpad صفحات سایت را ایجاد کرد. برنامه نویسی سمت کاربر تنها برای سایت های استاتیک مناسب است.
HTML)Hypertext markup language)
این زبان در سال 1989 توسط تیم برنرزلی خالق وب برای انتشار دادهها معرفی شد.
زبان برنامه نویسی HTML مخفف عبارت HyperText Markup Language به معنی زبان نشانه گذاری فرامتنی است که در ایجاد صفحات وب به کار گرفته می شود.
ساختار و پیکرهبندی یک صفحه اینترنتی بر پایه عناصر HTML است که این عناصر در نزد توسعه دهندگان وب همان تگها هستند. شکل کلی یک تگ HTML بدین گونه است <body>:
کلیه اطلاعاتی که قرار است برای کاربر نمایش داده شود باید در بین این تگها قرار گیرد.
در واقع می توان گفت HTML یک زبان برنامه نویسی نیست بلکه زبانی برای نشانه گذاری عناصر صفحات است.
در حال حاضر آخرین نسخه این زبان نسل پنجم آن است که در سال 2008 معرفی شد ولی هنوز به تایید کنسرسیوم جهانی وب (W3C) نرسیده و توسعه آن هم هنوز نهایی نشده است.
بسیاری از کارشناسان وب معتقدند کد نویسی در HTML5 شکل جدیدتری از خود را نمایان خواهد کرد، به گونه ای که تمام عناصرصفحهها معنا دارتر شده و رفته رفته تبدیل به زبانی برای تولید اپلیکیشنها خواهد شد.
اهمیت دستیابی به HTML5 آن قدر زیاد بود که استیو جابز رئیس شرکت اپل در سال 2010 طی نامهای سرگشاده خبر از ظهور HTML5 و نابودی فلش داد.
Css) Cascading style sheets)
شیوه نامه آبشاری توسط تیمی از کنسرسیوم جهانی وب با رهبری دو تن از افراد با نامهای برتباس (Bert Bos) و هیکن لای (Hakon Lie) آغاز به کار کرد به طوریکه اولین نسخه آن در سال 1960 منتشر شد و قادر بود تغییراتی را بر روی فونتهای صفحات و رنگ آنها وهمچنین رنگ پس زمینه ایجاد کند. در واقع باید گفت این شیوه نامه آبشاری که در سال 1980 با هدف منسجم کردن اطلاعات اسناد وب توسعه داده شد؛ زبانی برای شکل دادن و آرایش عناصر مختلف صفحات وب است.
زبان برنامه نویسی CSS مخفف عبارت Cascading Style Sheets به معنی الگوهای آبشاری است.
سپس نسخه دوم css در سال 1998 منتشر شد و در حال حاضر آخرین نسخه آن (css3) همچنان در حال توسعه است Css وHtml را میتوان دو یار جدانشدنی از هم نامید زیرا مکمل یکدیگرهستند. به طور معمول هر وبسایتی حداقل دارای یک فایل شیوه نامه (استایل) است.
Javascript
جاوا اسکریپت که به منزله ی یکی از معروف ترین زبان های برنامه نویسی تحت وب است، این امکان را در اختیار توسعه دهندگان قرار میدهد تا وب سایتهای خود را تعاملی کنند.
زبان جاوا اسکریپت توسط برندان ایچ (Brendan Eich) در پروژه مرورگر نت اسکیپ (Netscape) توسعه پیدا کرد و برای اولین بار درنسخه بتای نت اسکیپ 2 عرضه شد. زبان جاوا اسکریپت در ابتدا تحت عنوان لایو اسکریپت (Livescript) معرفی شد و بعدها به جاوا اسکریپت تغییرنام یافت.
پویایی صفحات یا به نوعی رویدادهایی (Events) که در صفحات بوجود می آیند برپایه این زبان است. جاوااسکریپت از خانواده زبانهای اسکریپتی است و قادر است در بین عناصر صفحه قرار بگیرد و عناصر مورد نظر را تحت کنترل خود درآورد. تمام مرورگرها وب امکان فعال و غیرفعال کردن زبان جاوا اسکریپت را برای کاربران خود دارند که این امکان به طور پیش فرض فعال است.
بعنوان مثال کلیک بر روی دکمه تایید یک فرم ثبت نام و نمایش یک پیغام خطا در یک باکس میتواند به کمک زبان جاوا اسکریپت ایجاد شود. در اغلب وبگاهها برای اعتبارسنجی اولیه فرمها از این زبان کمک میگیرند.
jQuery
- زبان جیکوئری یکی از فریم ورکهای محبوب، پرطرفدار و کم حجم جاوا اسکریپت است که در طی چندسال اخیر به یکی از پرطرفدارترین زبانهای برنامه نویسی سمت کاربر تبدیل شده است.
- خالق این زبان جان رسیگ (John Resig) یکی از توسعه دهندگان ابزارهای جاوا اسکریپت در مرورگر فایرفاکس است که در سال 2006 این زبان را معرفی کرد.
- زبان جیکوئری کاملا رایگان است و تحت دو پروانه GPL و MIT توسعه مییابد .جیکوئری برای کنترل عناصر صفحات وب دارای توابع بسیار زیاد و همچنین پلاگینهای متعدد و پرکاربرد است. جی کوئری لیست کاملی از توابع مربوط به کارهای گرافیکی است که کمک می کند تا جلوه های زیبایی در سایت پیاده سازی شود. به عنوان نمونه پیشنهاداتی که در موتور جستجوگر گوگل در ضمن جستجو به کاربران داده میشود از زبان جیکوئری استفاده شده است.
باید افزود که رابط کاربری (User Interface) سایت به کمک زبانهای فوق خلق میشود و پوسته اغلب صفحات وب سایتها بر پایه همین زبانها استوار است و در نهایت کدهایی که به کمک این زبانها تولید میشود توسط مرورگرها تفسیر شده و سپس خروجی آنها برای کاربران به نمایش درمیآید.
زبان های برنامه نویسی سمت سرور (server side)
پیش از بحث درباره برنامه نویسی سمت سرور، ابتدا باید با سه مفهوم زیر آشنا شویم.
- هاست (میزبانی وب): به فضایی اطلاق میشود که تمام فایلهای وبگاه ما بر روی آن قرار دارد.
- سرور: کامپیوتری است که کاربران در صورت اتصال به اینترنت میتوانند به اطلاعات روی آن دسترسی پیدا کنند.
- وب سرور: یک نرم افزار کامپیوتری است که درخواستهای کاربران را از طریق پروتکلهایی نظیر Http را که بوسیله مرورگر ارسال میشود را دریافت میکند، صفحه درخواستی را یافت میکند و در نهایت صفحه وب یافته شده را از طریق شبکه به مرورگر درخواست کننده میفرستد.
اگر بخواهیم با بیانی ساده کارکرد زبانهای سمت سرور را تشریح کنیم باید بگوییم وبگاههایی که صفحاتی پویا دارند و دائما در حال تغییر و تولید محتوا در صفحات هستند نیاز دارند این درخواستهای خود را در قالب یک زبان به سرورانتقال دهند. به کمک این زبانها سیستمهای مدیریت محتوا به عنوان یک نرم افزار تحت وب تولید میشوند تا بتوانند این درخواستها را برای گردانندگان وبگاهها مدیریت کنند.
در برنامه نویسی سمت سرور، برای بارگذاری صفحات سایت به یک سرور مجازی نیاز است. از برنامه نویسی سمت سرور برای داینامیک کردن صفحات وب استفاده می شود.
اگر بخواهیم زبان های برنامه نویسی سمت سرور رو معرفی کنیم تعداد زیادی زبان های برنامه نویسی تحت وب وجود دارد که از زبان های معروف میتوانیم به زبان های زیر اشاره کنیم.
ASP.NET
این کلمه مخفف Active server page یا صفحات فعال تحت سرور است که نسخه اولیه این زبان تحت فریم ورک دات نت در سال 2002 توسط کمپانی مایکروسافت برای تولید صفحات پویا معرفی شد و در حال حاضر به یکی از پرقدرتترین زبانها برای تولید اپلیکیشنهای وب مبدل شده است. اپلیکیشنهای نوشته شده با این زبان در سرورهای ویندوز قابل اجرا هستند و معمولا بانک اطلاعاتی آنها همان Sql Server معروف است. آخرین نگارش ASP.NET نسخه چهارم این زبان است که در آن توجه زیادی برروی معماری سه لایه یا MVC داشته است.
PHP
واژه PHP بر گرفته از Hypertext Preprocessor می باشد که یک زبان منبع باز و قابل توسعه می باشد و در سال 1994 بوسیله راموس لردوف (Rasmus Lerdorf) کانادایی به وجود آمد. برنامههای نوشته شده با این زبان اسکریپتی تحت لینوکس اجرا میشود. ناگفته نماند که برنامههای نوشته شده با این زبان قابلیت اجرا تحت ویندوز را هم دارا هستند. نام بانک اطلاعاتی این زبان Mysql است و آخرین نگارش این زبان نسخه پنجم آن است که نسبت به نسخههای پیشین خود توجه بیشتری روی معماری سه لایه داشته است.
Ruby
طراحی و توسعه زبان رابی به اواسط دهه 1990 بازمی گردد. منتشر کننده این زبان فردی به نام یوکیهیرو ماتز ماتسوموتو (Yukihiro Matz Matsumoto) بود. نسخههای متعددی از این زبان طی سال های متوالی توسعه یافت و نسخه پایدار آن در سال 2006 منتشر شد. از محبوبترین فریم ورکهایی که در چندسال اخیر برپایه این زبان توسعه یافته می توان Ruby on rails را نام برد که با شعار”کشف بن بست شکنانه برای کاهش موانع ورود به برنامهنویسی” شهرت دارد. الگوی طراحی برنامههای این فریمورک برپایه MVC است.
Java
در ابتدا باید توجه داشت که زبان جاوا و جاوا اسکریپت دو زبان کاملا مجزا ازهم هستند. جاوا یکی از محبوبترین زبانها تا سال 2012 بود. این زبان توسط جیمز گاسلینگ (James Gosling) و تحت لیسانس شرکت سان در سال 1995 خلق شد. جاوا قابلیت پیاده سازی بر روی تمام پلتفرمهای استاندارد را دارد.
تکنولوژیهای جاوا را می توان به سه گروه تقسیم کرد :
- جاوا برای موبایل اپلیکیشنها (J2ME): این تکنولوژی بیشتر با نام J2ME یا Java 2 Mobility Editionشناخته شده است و بیشتر برای مقابله با محدودیتهای ساخت برنامههای کاربردی در دستگاههای کوچک مورد استفاده قرارمیگیرد و همچنین دارای کتابخانههای بسیاری برای توسعه اپلیکیشن است، مانند اپلیکیشنهای تلفن همراه.
- نگارش استاندارد جاوا (J2SE): عنوانی که برای این تکنولوژی رواج یافته J2SE است و مخفف عبارت Java 2 platform standard edition میباشد. به کمک این تکنولوژی میتوان طیف وسیعی از برنامه های کاربردی – اعم از بازیهای گرافیکی تا اپلیکیشنهای مرتبط با پایگاههای داده – را تولید کرد. همچنین در کتابخانههای آن کلیهAPI ها و کلاسهای مورد نیاز وجود دارد.
- نگارش سازمانی جاوا (JEE): نام این پلتفرم جاوا Java enterprise edition است. این تکنولوژی در توسعه برنامههای بسیار بزرگ و سازمانی مورد استفاده قرارمیگیرد، برنامه نویسان این نسخه از جاوا قادرخواهند بود برنامههای عظیمی برای شبکهها و حتی سرورها تولید کنند.
سخن نهایی
بصورت کلی در صورتی که قصد فراگیری فرایندهای مربوط به طراحی سایت ساده و ابتدایی را دارید یادگیری HTML، CSS، JavaScript کاملا ضروری است. جهت طراحی وب سایت حرفه ای و طراحی سایت های داینامیک، فروشگاه های اینترنتی و بطور کلی وب سایت های پیچیده نیاز به یادگیری یک یا چند زبان برنامه نویسی (PHP- C# ASP.net) و همچنین کار با پایگاه های داده دارد. ضمنا برای اینکه بتوانید سایت هایی کاملا Responsive طراحی کنید با Bootstrap نیز آشنایی داشته باشید. علاوه بر اینها لازم است برنامه نویسان و طراحان سایت با اصول کلی و اولیه سئو و بهینه سازی سایت آشنایی داشته باشند تا هنگام طراحی سایت به این اصول توجه نموده و از ابتدا وب سایت هایی بهینه شده و منطبق بر استاندارهای موتورهای جستجو تولید نمایند.