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

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

حمله استاکس‌نت جدید به اروپا و خاورمیانه

محمد کرباسی: در سال ۲۰۱۰ کشف استاکس‌نت که برای جاسوسی در تأسیسات هسته‌ای ایران توسط آمریکا و رژیم‌صهیونیستی طراحی شده بود یک جنجال تمام‌عیار را در دنیا رقم زد اما حالا مشخص شده که حداقل از سال۲۰۰۸ بدافزار فوق‌العاده پیچیده دیگری با مشخصاتی مشابه استاکس‌نت مشغول به جاسوسی در کشورهای مختلف جهان از خاورمیانه تا اروپا بوده است.

دو کاندیدای اول نخستین انتخابات پس از انقلاب تونس به دور دوم رفتند

همشهری‌آنلاین: باجی اسبسی رهبر حزب ندای تونس در اولین انتخابات آزاد ریاست جمهوری این کشور بعد از انقلاب ۲۰۱۱،اکثریت آراء را کسب کرد و در دور دوم با منصف مرزوقی رقابت می‌کند.

قتل معلم دبیرستان و چند نکته

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

انگیزه روانی در قتل هولناک معلم بی‌گناه

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

۳ جنایت در پرونده سارق مسلح خوزستان

۸ سرقت مسلحانه و ۳ قتل. این کارنامه‌ سیاهی است که سارق مسلح خوزستان از ابتدای امسال تا‌کنون از خود به‌جا گذاشته است.

وزیر دفاع: طرف غربی بیش از ما نیاز به حصول توافق دارد

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

مالزی بدنبال کسب رده دوم تولید خاویار جهان

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

قاتلی به نام استامینوفن!

همشهری آنلاین: استامینوفن به این دلیل که بدون نسخه به فروش میرسد تبدیل به یکی از داروهایی شده که بسیاری از افراد برای استفاده از آن هیچ ترسی به دل راه نمیدهند و با کوچکترین احساس دردی مثل نقل و نبات این قرص را استفاده میکنند.

ابتکار بر گسترش همکاری زیست محیطی ایران و اسپانیا تاکید کرد

همشهری آنلاین: معاون رئیس جمهوری و رئیس سازمان حفاظت محیط زیست در دیدار با سفیر اسپانیا بر گسترش همکاری زیست محیطی دو کشور تاکید کرد.

صدای شادی بدن خود را بشنوید

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

خط آهن گرگان - اینچه برون ۱۲ آذر ماه به بهره‌برداری می‌رسد

همشهری آنلاین: وزیر راه و شهرسازی از افتتاح خط آهن گرگان - اینچه برون در روز ۱۲ آذر ماه ۹۳ با حضور روسای جمهور ایران، ترکمنستان و قزاقستان خبر داد.

طرح تعویض رایگان ۱۵ هزار کاتالیست تاکسی

همشهری آنلاین: سازمان تاکسیرانی در راستای اجرای برنامه های کاهش آلودگی هوای شهرداری تهران طرح تعویض رایگان ۱۵ هزار کاتالیست تاکسی های تهران را اجرا می‌کند.

تندباد کویر

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

چرا تحریم‌ها علیه ایران ناکارآمد است؟

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

حزب‌الله با موشک فاتح ۱۱۰ در کمتر از ۲ دقیقه صهیونیست‌ها را به عصر حجر باز می‌گرداند

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