زبان های برنامه نویسی وب
زبان های برنامه نویسی وب
مقدمه
یکی از سوالاتی که به شدت پرسیده می شود انواع زبان های برنامه نویسی وب چی هستند. معمولا یکی از حوزه هایی که به شدت بازار کار خوبی دارد و میتوان روی آن حساب باز کرد زبان های برنامه نویسی وب هستش که میتوان گفت در این حوزه بخش های مختلف و متفاوتی وجود دارد. اگر بخواهیم انواع زبان های برنامه نویسی وب رو توضیح دهیم باید اول چند اصلاح رو تعریف کنیم بعد به سراغ این موضوع برویم.
در این مقاله به صورت اختصاصی میخوام فقط در مورد زبان های برنامه نویسی وب صحبت کنم و به صورت دقیق و کامل این زبان ها رو معرفی کنم و بگم هر کدوم واسه چی خوبه و اگر یاد بگیریم چه اتفاقی میفتد.
اگر بخواهیم زبان های برنامه نویسی وب رو تقسیم بندی کنیم به دو بخش کلی تقسیم می شوند. در بخش پایین این تقسیم بندی رو آورده ایم.
- زبان های سمت کاربر
- زبان های سمت سرور
زبان های سمت کاربر:
اگر بخواهیم در یک جمله کوتاه بگویم که زبان سمت کاربر چی است باید بگویم زبانی که وظیفه ارتباط با کاربر رو دارد بهش میگن زبان سمت کاربر. اگر بخواهیم چند زبان در این بخش معرفی کنیم، زبان های طراحی صفحات وب HTML و CSS جز این دسته هستند البته این دو زبان برنامه نویسی نیستند و زبان نشانه گذاری هستند یعنی هیچ کار محاسباتی انجام نمیدهد و فقط کار نمایش یه چیز رو دارند. در واقع ساختار کلی یک صفحه وب HTML و نحوه نمایش مانند رنگ ها ، نوع فونت ها و یا نوع نوشته ها توسط CSS بیان میشوند. در واقع HTML پایه اصلی صفحات وب است و CSS عناصر ظاهری را تعریف میکند. در عین حال برای برخی عوامل تعاملی مانند عکس العمل به فشار کلید و یا کنترل حرکت ماوس از Java Script استفاده میشود.یکی از مسائل مهم این است که Java Script هیچ ربطی به JAVA ندارد. زبان Java Script تنها توسط مرورگر وب اجرا میشود.
HTML چیست؟
زبان HTML مخفف واژگان HyperText Markup Language به معنی زبان نشانه گذاری فرامتنی است که در ساخت صفحات وب به کار گرفته می شود. این زبان، زبانی بسیار ساده اما در عین حال کاربردی است که برای ورود به دنیای برنامه نویسی، گزینه ی مناسبی است.
آقای تیم برنرزلی در تلاش بود که مجامع علمی سراسر دنیا از طریقی پروتکلی بتوانند مقالات علمی را به راحتی با یکدیگر به اشتراک بگذارند. در همین راستا، وی در سال ۱۹۸۹ اولین نسخه از زبان اچ تی ام ال را طراحی کرده و به دنیا عرضه نمود. در ادامه ی راه، وی سازمان W3C که مخفف واژگان World Wide Web Consortium به معنی کنسرسیوم جهانی وب است را تاسیس کرد که وظیفه ی اصلی این سازمان، پشتیبانی و توسعه ی زبان HTML است.
CSS چیست؟
صفحات وبی که با استفاده از تگ های اچ تی ام ال ساخته میشوند از هر گونه زیبایی ظاهری مبرا هستند و اگر بخواهیم این گونه صفحات را به یک ساختمان تشبیه کنیم، بایستی بگوییم که همچون سازه ی اصلی یک ساختمان بوده که هیچ گونه رنگ و بویی ندارند!
با پیشرفت وب، نیازهای کاربران هم به مراتب بیشتر شد که یکی از اساسیترین آن ها، نیاز به زیبایی ظاهری برای صفحات وب بود. به همین منظور، زبانی تحت عنوان CSS که مخفف Cascading Style Sheets به معنی الگوهای آبشاری است توسط Hakon Wium Lie در سال ۱۹۹۶ ابداع شد تا همچون سازه ی یک ساختمان که با استفاده از رنگ، گچبری، سنگ کاری و … زیبا می گردد، صفحات خام اچ تی ام ال را زیبا سازد. زبان سی اس اس صرفاً چهار / پنج سال پس از ابداع زبان اچ تی ام ال توسعه یافت و به مرور زمان که مرورگرهای بیشتری اقدام به پشتیبانی از آن کردند، در میان توسعه دهندگان جای خود را باز کرد و امروزه به عنوان بخش لاینفک دنیای وب شناخته می شود.
جاوااسکریپت چیست؟
جاوا اسکریپت که به منزله ی یکی از معروف ترین زبانهای برنامه نویسی است، این امکان را در اختیار توسعه دهندگان قرار میدهد تا وب سایتهای خود را تعاملی کنند (البته امروزه از این زبان برای ساخت اپلیکیشن های موبایل نیز استفاده می شود.) به عبارت دیگر، سایت هایی که از قابلیت های زبان جاوااسکریپت در آن ها استفاده شده، این امکان را در اختیار کاربران خود قرار می دهند تا در شرایط مختلف، فیدبک های مختلفی (همچون جلوه های بصری) از طرف سایت دریافت کنند.
برای این که درک بهتری از جاوااسکریپت داشته باشید به مثال زیر توجه کنید:
فرض کنیم قصد داریم امکانی در سایت خود فراهم سازیم که اگر کاربری نشانگر ماوس خود را روی یکی از گزینه های منوی اصلی سایت نگه داشت، گزینه های زیر شاخه با افکت خاصی نمایان شوند که چنین افکتی را می توان با استفاده از جاوااسکریپت عملی ساخت.
با جاوااسکریپت چه کارهایی میتوان انجام داد:
- کنترل کردن ظاهر یک وب سایت مثلاً حذف و اضافه کردن تگ های اچ تی ام ال
- ساخت بخشهای تعاملی وب سایت مثل Menu ها، Date Picker ها و …
- چک کردن ارور فرمها در سمت مرورگر پیش از ارسال درخواست به سرو
- نمایش دادهها با استفاده از چارتها و نمودارها
- استفاده از فناوری AJAX در سایتها به منظور جلوگیری از بارگذاری مجدد صفحات وب و در نتیجه ایجاد یک تجربه ی کاربری به مراتب بهتر
- ایمپورت کردن دادهها از سایر سایت ها و تحلیل آنها و بسیاری کارهای دیگر.
برای طراحی سایت های سمت کاربر یا همان رابط کاربری سایت می بایست از زبانهای اچ تی ام ال، سی اس اس و جاوا اسکرپیت استفاده نمود. این دست زبانها برای طراحی سایتهای استاتیک مناسب هستند اما اگر بخواهیم یک سایت پویا یا دینامیک داشته باشیم، نیاز به زبانهایی به غیر از آنچه تاکنون مورد بررسی قرار دادهایم خواهیم داشت.
دو توضیح مهم
- سایت Static یا ایستا، سایتی است که صرفاً یکسری اطلاعات ثابت را در اختیار کاربران قرار میدهد مثل سایت معرفی یک هنرمند که به معرفی وی و آثارش می پردازد یا یک سایت شرکتی معمولی که صرفاً توضیحی در ارتباط با آن شرکت میدهد.
- سایت Dynamic یا پویا، سایتی است که این امکان را برای کاربران سایت فراهم میسازند که بتوانند با سایت تعامل داشته باشند. این تعامل میتواند شامل ثبت نام در سایت، ورود به ناحیه ی کاربری، نظردهی، تولید محتوا و … گردد. برای مثال سایت دیجی کالا، در این سایت ثبت نام میکنید بعد میتوانید نظر دهید، امتیاز دهید، خرید کنید و خیلی کارهای دیگر.
زبان های سمت سرور:
گفتم زبان های سمت کاربر با کاربر در ارتباط هستند اما در زبان های سمت سرور فرق میکند و بیشتر بحث پشت صحنه هستش و بیشتر کارهای محاسباتی انجام میگیرید یعنی اگر قرار باشد مثلا یک کار محاسباتی انجام شود توسط این بخش انجام می شود و کاربر چیزی نمیبیند. اگر بخواهیم زبان های برنامه نویسی سمت سرور رو معرفی کنیم تعداد زیادی زبان وجود دارد که از زبان های معروف میتوانیم به زبان های زیر اشاره کنیم.
زبان های برنامه نویسی سمت سرور:
- زبان برنامه نویسی ASP.Net
- زبان برنامه نویسی PHP
- زبان برنامه نویسی پایتون
- زبان برنامه نویسی روبی
- زبان برنامه نویسی پرل
- زبان برنامه نویسی جاوا
- و . . .
زبان برنامه نویسی ASP.Net:
این کلمه مخفف Active Sever Page یا صفحات فعال تحت سرور است که نسخه اولیه این زبان تحت فریم ورک دات نت در سال ۲۰۰۲ توسط کمپانی مایکرو سافت برای تولید صفحات پویا معرفی شد و در حال حاضر به یکی از پرقدرترین زبان ها برای تولید اپلیکشین های وب مبدل شده است. اپلیکیشن های نوشته شده بااین زبان در سرور های ویندوز قابل اجرا است و معمولا بانک اطلاعاتی آنها همان sql server معروف است. سایت های معروفی مثل دیجی کالا، بانک ملی ، ورزش۳ و . . . با این زبان، برنامه نویسی شده اند.
زبان برنامه نویسی PHP:
یکی از معروف ترین زبان های برنامه نویسی سمت سرور است . برنامه های نوشته با این زبان اسکریپتی تحت لینوکس اجرا میشوند البته php میتواند توسط ویندوز هم به اجرا دراید ، نام بانک اطلاعاتی این زبان Mysql است. معمولا CMS های آماده (وردپرسف جوملا، دروپال و . . .) معروف و خوب با این زبان برنامه نویسی طراحی و برنامه نویسی شده اند. میتوان از آن به عنوان یک زبان عمومی نیز استفادهکرد.
زبان برنامه نویسی پایتون:
پایتون یک زبان همه منظوره و بسیار محبوب است! اگر فقط به شغل فکر میکنید، فریمورکهای پایتون بهترین انتخاب برای شما هستند. پایتون سینتکس بسیار سادهای دارد.بدون شک، پایتون یکی از بهترین و محبوبترین زبانهایی است که میتوانید یاد بگیرید. میزان رشد پایتون در سال ۲۰۱۶ برابر با ۵۴% بود. این زبان در رده بندی انجمن TIOBE در رتبه پنجم قرار دارد.
زبان برنامه نویسی روبی:
طراحی و توسعه زبان رابی به اواسط دهه ۱۹۹۰ بازمی گردد. منتشر کننده این زبان فردی به نام یوکیهیرو ماتز ماتسوموتو (Yukihiro Matz Matsumoto) بود. نسخههای متعددی از این زبان طی سال های متوالی توسعه یافت و نسخه پایدار آن در سال ۲۰۰۶ منتشر شد. از محبوبترین فریم ورکهایی که در چندسال اخیر برپایه این زبان توسعه یافته می توان Ruby on rails را نام برد که با شعار “کشف بن بست شکنانه برای کاهش موانع ورود به برنامهنویسی” شهرت دارد. الگوی طراحی برنامههای این فریمورک برپایه MVC است.
زبان برنامه نویسی پرل:
خیلی ها معتقدند که زبان Perl ، نسخه جدید زبان COBOL است . Perl همچنین مانند یک نوار مسیر عبوری برای اینترنت به نظر میرسد و بیشتر برای هماهنگ سازی پایگاه های اطلاعاتی با دیگر سیستم ها به کار می رود . بی شک تا زمانی که زبان های اسکریپتی و پویا مثل Perl ، PHP ، Python و Ruby متقاضی دارند ، زبان های اصلی مثل Java ، در پشت سر اینها می مانند و دلیل آن رشد روز افزون محبوبیت این زبان ها در میان افرادی است که توانایی های بالقوه و قدرت کاربردی اینگونه نرم افزار ها را درک کرده که باعث میشود نیاز به برنامه نویسان این زبان ها در جامعه رشد کنند .
زبان برنامه نویسی جاوا:
در ابتدا باید توجه داشت که زبان جاوا و جاوا اسکریپت دو زبان کاملا مجزا ازهم هستند. جاوا یکی از محبوبترین زبانها تا سال ۲۰۱۲ بود. این زبان توسط جیمز گاسلینگ (James Gosling) و تحت لیسانس شرکت سان در سال ۱۹۹۵ خلق شد. جاوا قابلیت پیاده سازی بر روی تمام پلتفرمهای استاندارد را دارد.
تکنولوژیهای جاوا را می توان به سه گروه تقسیم کرد :
- جاوا برای موبایل اپلیکیشنها (J2ME): این تکنولوژی بیشتر با نام J2ME یا Java 2 Mobility Editionشناخته شده است و بیشتر برای مقابله با محدودیتهای ساخت برنامههای کاربردی در دستگاههای کوچک مورد استفاده قرارمیگیرد و همچنین دارای کتابخانههای بسیاری برای توسعه اپلیکیشن است، مانند اپلیکیشنهای تلفن همراه.
- نگارش استاندارد جاوا (J2SE): عنوانی که برای این تکنولوژی رواج یافته J2SE است و مخفف عبارت Java 2 platform standard edition میباشد. به کمک این تکنولوژی میتوان طیف وسیعی از برنامه های کاربردی (اعم از بازیهای گرافیکی تا اپلیکیشنهای مرتبط با پایگاههای داده) را تولید کرد. همچنین در کتابخانههای آن کلیهAPI ها و کلاسهای مورد نیاز وجود دارد.
- نگارش سازمانی جاوا (JEE): نام این پلتفرم جاوا Java enterprise edition است. این تکنولوژی در توسعه برنامههای بسیار بزرگ و سازمانی مورد استفاده قرارمیگیرد، برنامه نویسان این نسخه از جاوا قادرخواهند بود برنامههای عظیمی برای شبکهها و حتی سرورها تولید کنند.
زبان های برنامه نویسی وب