شنبه 3 آبان 1393 | به روز شده: 7 دقیقه قبل

HAMSHAHRIONLINE

The online version of the Iranian daily Hamshahri
ISSN 1735-6393
دوشنبه 7 اسفند 1391 - 21:53:57 | کد مطلب: 203062 چاپ

آشنایی با زبان‌های برنامه نویسی تحت وب

میز آنلاین > میهمان - میلاد شکرخواه:
اسامی زبان‌های برنامه نویسی و نیز کارکردهای این زبان‌ها برای افرادی که اطلاعات چندانی از روند ایجاد یک صفحه اینترنتی ندارند واقعا گیج کننده است.

از سوی دیگر؛ رشد روز افزون وبگاه‌ها با کارکردهای گوناگون و همین طور شکل‌گیری ایده‌های نو در فضای وب باعث شده که زبان‌های برنامه نویسی تحت وب به سرعت پیشرفت کنند و به این ترتیب باز هم بر پیچیدگی‌های موجود بیفزایند.

هدف این مطلب، کاستن از این پیچیدگی‌ها و ارائه یک طبقه بندی کلی از برخی از این زبان‌هاست.

ماهیت زبان‌های برنامه نویسی وب مانند دیگر زبان‌های برنامه نویسی است با این تفاوت که در سمت سرور تفسیر می‌شوند و در مرورگرها خروجی آن به نمایش در می‌آید.

در این مطلب چند زبان پرطرفدار وب معرفی می‌شود.

توسعه وب سایت دارای دو رویکرد کلی تحت عناوین طراحی وب (Web design) و برنامه نویسی وب (Web programming) است که هر یک دارای زبان‌های متعددی برای ساخت یک وبگاه هستند. با توجه به این دو گرایش؛ دسته بندی دقیق‌تری را می‌توان در جدول زیر ارائه کرد:

  • برنامه نویسی سمت کاربر (Client side):

اغلب طراحان صفحات اینترنتی بر روی برنامه نویسی سمت کاربر تمرکز دارند. 

برنامه نویسی سمت کاربر (Client side)
توضیحات

 

 

 

 

 

HTML

(Hypertext markup language)

 

  • این زبان در سال 1989 توسط تیم برنرزلی خالق وب برای انتشار داده‌ها معرفی شد.
  • ساختار و پیکره‌بندی یک صفحه اینترنتی بر پایه عناصر HTML است که این عناصر در نزد توسعه دهندگان وب همان تگ‌ها هستند. شکل کلی یک تگ HTML بدین گونه است <body>:
  • کلیه اطلاعاتی که قرار است برای کاربر نمایش داده شود باید در بین این تگ‌ها قرار گیرد.
  • در واقع می توان گفت HTML یک زبان برنامه نویسی نیست بلکه زبانی برای نشانه گذاری عناصر صفحات است.
  • در حال حاضر آخرین نسخه این زبان نسل پنجم آن است که در سال 2008 معرفی شد ولی هنوز به تایید کنسرسیوم جهانی وب (W3C) نرسیده و توسعه آن هم هنوز نهایی نشده است. مشاهده یک نمونه صفحه HTML
  • بسیاری از کارشناسان وب معتقدند کد نویسی در HTML5 شکل جدیدتری از خود را نمایان خواهد کرد، به گونه ای که تمام عناصرصفحه‌ها معنا دارتر شده و رفته‌ رفته تبدیل به زبانی برای تولید اپلیکیشن‌ها خواهد شد.
  • اهمیت دستیابی به HTML5 آن قدر زیاد بود که استیو جابز رئیس شرکت اپل در سال 2010 طی نامه‌ای سرگشاده خبر از ظهور HTML5 و نابودی فلش داد.  مشاهده صفحات HTML5

 

 

Css

Cascading style sheets

  • شیوه نامه آبشاری توسط تیمی از کنسرسیوم جهانی وب با رهبری دو تن از افراد با نام‌های برت‌باس (Bert Bos)  و هیکن لای (Hakon Lie) آغاز به کار کرد به طوریکه اولین نسخه آن  در سال 1960 منتشر شد و قادر بود تغییراتی را بر روی فونت‌های‌ صفحات و رنگ آن‌ها وهمچنین رنگ پس زمینه ایجاد کند. در واقع باید گفت این شیوه نامه آبشاری که در سال 1980 با هدف منسجم کردن اطلاعات اسناد وب توسعه داده شد؛ زبانی برای شکل دادن و آرایش عناصر مختلف صفحات وب است.
  • سپس نسخه دوم css در سال 1998 منتشر شد و در حال حاضر آخرین نسخه آن (css3) همچنان در حال توسعه است. Css وHtml را می‌توان دو یار جدانشدنی از هم نامید زیرا مکمل یکدیگرهستند. به طور معمول هر وب‌سایتی حداقل دارای یک فایل شیوه نامه (استایل) است. مشاهده صفحاتی که با استایل‌ها دچار تغییرات شده اند.

 

 

 

Javascript

  • زبان جاوا اسکریپت توسط برندان ایچ (Brendan Eich) در پروژه مرورگر نت اسکیپ (Netscape) توسعه پیدا کرد و برای اولین بار درنسخه بتای نت اسکیپ 2 عرضه شد. زبان جاوا اسکریپت در ابتدا تحت عنوان لایو اسکریپت (Livescript) معرفی شد و بعدها به جاوا اسکریپت تغییرنام یافت.
  • پویایی صفحات یا به نوعی رویدادهایی (Events) که در صفحات بوجود می آیند برپایه این زبان است. جاوااسکریپت از خانواده زبان‌های اسکریپتی است و قادر است در بین عناصر صفحه قرار بگیرد و عناصر مورد نظر را تحت کنترل خود درآورد. تمام مرورگرها وب امکان فعال و غیرفعال کردن زبان جاوا اسکریپت را برای کاربران خود دارند که این امکان به طور پیش فرض فعال است.
  • بعنوان مثال کلیک بر روی دکمه تایید یک فرم ثبت نام و نمایش یک پیغام خطا در یک باکس می‌تواند به کمک زبان جاوا اسکریپت ایجاد شود. در اغلب وبگاه‌ها برای اعتبارسنجی اولیه فرم‌ها از این زبان کمک می‌گیرند. مشاهده یک رویداد جاوا اسکریپتی






jQuery

  • زبان جی‌کوئری یکی از فریم ورک‌های محبوب، پرطرفدار و کم حجم جاوا اسکریپت است که در طی چندسال اخیر به یکی از پرطرفدارترین زبان‌های برنامه نویسی سمت کاربر تبدیل شده است.
  • خالق این زبان جان رسیگ  (John Resig) یکی از توسعه دهندگان ابزارهای جاوا اسکریپت در مرورگر فایرفاکس است که در سال 2006 این زبان را معرفی کرد.
  • زبان جی‌کوئری کاملا رایگان است و تحت دو پروانه GPL و MIT توسعه می‌یابد. جی‌کوئری برای کنترل عناصر صفحات وب دارای توابع بسیار زیاد و همچنین پلاگین‌های متعدد و پرکاربرد است. به عنوان نمونه پیشنهاداتی که در موتور جستجوگر گوگل در ضمن جستجو به کاربران داده می‌شود از زبان جی‌کوئری استفاده شده است. مشاهده یک رویداد جی‌کوئری

باید افزود که رابط کاربری (User Interface) به کمک زبان‌های فوق خلق می‌شود و پوسته اغلب صفحات وب سایت‌ها بر پایه همین زبان‌ها استوار است و در نهایت کدهایی که به کمک این زبان‌ها تولید می‌شود توسط مرورگرها تفسیر شده و سپس خروجی آن‌ها برای کاربران به نمایش درمی‌آید.

  • برنامه نویسی سمت سرور (Server side):

پیش از بحث درباره برنامه نویسی سمت سرور، ابتدا باید با سه مفاهیم زیر آشنا شویم.

  • هاست (میزبانی وب): به فضایی اطلاق می‌شود که تمام فایل‌های وبگاه ما بر روی آن قرار دارد.
  • سرور: کامپیوتری است که کاربران در صورت اتصال به اینترنت می‌توانند به اطلاعات روی آن دسترسی پیدا کنند.
  • وب سرور: یک نرم افزار کامپیوتری است که درخواست‌های کاربران را از طریق پروتکل‌هایی نظیر Http را که بوسیله مرورگر ارسال می‌شود را دریافت می‌کند، صفحه درخواستی را یافت می‌کند و در نهایت صفحه‌ وب یافته شده را از طریق شبکه به مرورگر درخواست کننده می‌فرستد.

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

اگر بخواهیم با بیانی ساده کارکرد زبان‌های سمت سرور را تشریح کنیم باید بگوییم وبگاه‌هایی که صفحاتی پویا دارند و دائما در حال تغییر و تولید محتوا در صفحات هستند نیاز دارند این درخواست‌های خود را در قالب یک زبان به سرورانتقال دهند. به کمک این زبان‌ها سیستم‌های مدیریت محتوا به عنوان یک نرم افزار تحت وب تولید می‌شوند تا بتوانند این درخواست‌ها را برای گردانندگان وبگاه‌ها مدیریت کنند.

php

برنامه نویسی سمت سرور (Server side)

توضیحات





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 است. این تکنولوژی در توسعه برنامه‌های بسیار بزرگ و سازمانی مورد استفاده قرار‌می‌گیرد، برنامه نویسان این نسخه از جاوا قادرخواهند بود برنامه‌های عظیمی برای شبکه‌ها و حتی سرورها تولید کنند.
در همین زمینه:
انتخاب سردبیر

اختلاف برسر مصرف آب کشاورزی

علی ابراهیمی: آخرین برآوردها در حالی از مصرف ۹۲ درصدی منابع آبی کشور در بخش کشاورزی و هدر روی بالای آب در این بخش حکایت دارد که وزارت جهاد کشاورزی آمارهای وزارت نیرو در این مورد را غیرکارشناسی می‌داند.

چالش حقوق بشری آب در آمریکا

نمایندگانی از سازمان ملل هفته‌گذشته را در شهر دیترویت در ایالت میشیگان گذراندند تا درباره گزارش‌هایی تحقیق کنند که از وضعیت نقض حقوق بشر مردم این شهر به‌دلیل قطع آب منتشر شده‌است.

عصاره جوانه بروکلی علائم اوتیسم را بهبود می‌بخشد

همشهری آنلاین: یک مطالعه‌ جدید کوچک نشان می‌دهد ماده شیمیایی به نام سولفورافان (sulforaphane) که از جوانه‌های کلم بروکلی بدست می‌آید، ممکن است به بهبود علائم اوتیسم در برخی از افراد مبتلا کمک کند.

۴ کشته و زخمی در تیراندازی نیویورک

همشهری آنلاین: حمله به ماموران پلیس درنیویورک چهار کشته و زخمی به جای گذاشت. روزنامه ایندیپندنت نوشت فردی مهاجم که با یک تبر به چهار مامور پلیس در خیابانی شلوغ در نیویورک حمله کرد ، به ضرب گلوله کشته شد.

پوتین: اقدامات آمریکا ساختار امنیت جهانی را ازبین برده است

همشهری آنلاین: ولادیمیر پوتین رییس جمهوری روسیه اعلام کرد: اقدامات آمریکا و متحدان غربی این کشور ساختار امنیتی جهانی را از بین برده و ثبات جهان را به خطر انداخته است.

۲۱کشورآسیایی موافقتنامه تاسیس بانک سرمایه گذاری امضا کردند

همشهری آنلاین: نمایندگان و وزیران دارایی ۲۱ کشور آسیایی روز جمعه توافقنامه‌ای را به منظور ایجاد و عضویت در بانک سرمایه‌گذاری آسیا در پکن امضا کردند.

سرنوشت دستگاه‌های کارت‌خوان در انتظار شرکت‌های اینترنتی است؟

همشهری‌آنلاین - امیر عباس تقی‌پور*: خوشبختانه بازار نظردهی پیرامون پیش‌نویس اصول حاکم بر صدور پروانه‌های ارتباطات ثابت و خدمات ارتباطی ثابت که سوم شهریورماه جاری و به بهانه تمدید مجوز شرکت‌های ارائه‌کننده خدمات اینترنتی پرسرعت - PAP - منتشر شد، هنوز داغ است.

ششمین کنفرانس آسیایی در علوم اجتماعی در توکیو برگزار می‌شود

همشهری‌آنلاین: ششمین کنفرانس آسیایی در علوم اجتماعی با عنوان ACSS ۲۰۱۵ در اوزاکای ژاپن از ۱۳ الی ۱۶ ژوئن برگزار می‌شود.

هیچ‌کس مالکیتی بر ساختمان‌های دانشگاه آزاد ندارد؛ برای تحصیلات تکمیلی برنامه داریم

همشهری آنلاین: رئیس هیات امنای دانشگاه آزاد اسلامی گفت: تمام ساختمان‌های دانشگاه آزاد در سراسر کشور سرمایه ملی است و هیچ‌ کس مالکیتی در آن ندارد.

کرملین: تحریم‌های غرب ملت روسیه را یکپارچه کرد

همشهری آنلاین: ویاچسلاو وولودین معاون دفتر ریاست جمهوری روسیه اعلام کرد: تحریم‌های غرب علیه روسیه ملت این کشور را یکپارچه و منسجم کرده است.

همایش بین‌المللی میر سیدعلی همدانی برگزاری می‌شود

همشهری‌آنلاین: همایش بین‌المللی میر سیدعلی همدانی عارف و عالم بزرگ ایرانی سوم آبان ۱۳۹۳ برگزار می‌شود.

کاهش دما در مناطق مرتفع

همشهری آنلاین: از بعداز ظهر شنبه ( ۳ آبان) تا دوشنبه در مناطق مرتفع استان‌های ساحلی دریای خزر، اردبیل و آذربایجان شرقی کاهش دمای ۸ تا ۱۰ درجه‌ای و دوشنبه در خراسان شمالی و شمال خراسان رضوی افت دمای ۱۰ تا ۱۵ درجه رخ خواهد داد.

خرید ۱۲۰ هزار دلاری ایران‌ایر از بوئینگ

در نخستین معامله شرکت‌های هوافضای آمریکایی با ایران در ۳۵سال گذشته، بوئینگ به ارزش ۱۲۰ هزار دلار محصولات مربوط به هواپیما به ایران فروخت.

بیدستان میزبان دو شهید گمنام می‎شود

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

جودوی نابینایان و کم بینایان قهرمان بخش تیمی شد

همشهری آنلاین: تیم ملی جودوی نابینایان و کم بینایان به مدال طلای بخش تیمی اینچئون دست یافت.