یکی از سوالاتی که به شدت پرسیده می شود انواع زبان های برنامه نویسی تحت وب چی هستند. در سایت خیلی مطالب در مورد یک زبان برنامه نویسی ارائه شده است اما در حوزه وب نگفتیم چه زبان های برنامه نویسی داریم. معمولا یکی از حوزه هایی که به شدت بازار کار خوبی دارد و میتوان روی آن حساب باز کرد زبان های برنامه نویسی تحت وب هستش که میتوان گفت در این حوزه بخش های مختلف و متفاوتی وجود دارد. اگر بخواهیم انواع زبان های برنامه نویسی تحت وب رو توضیح دهیم باید اول چند اصلاح رو تعریف کنیم بعد به سراغ این موضوع برویم.
در این مقاله به صورت اختصاصی میخوام فقط در مورد زبان های برنامه نویسی وب صحبت کنم و به صورت دقیق و کامل این زبان ها رو معرفی کنم و بگم هر کدوم واسه چی خوبه و اگر یاد بگیریم چه اتفاقی میفتد.
اگر بخواهیم زبان های برنامه نویسی وب رو تقسیم بندی کنیم به دو بخش کلی تقسیم می شوند. در بخش پایین این تقسیم بندی رو آورده ایم.
- زبان های سمت کاربر
- زبان های سمت سرور
زبان های سمت کاربر:
اگر بخواهیم در یک جمله کوتاه بگویم که زبان سمت کاربر چی است باید بگویم زبانی که وظیفه ارتباط با کاربر رو دارد بهش میگن زبان سمت کاربر. اگر بخواهیم چند زبان در این بخش معرفی کنیم، زبان های طراحی صفحات وب HTML و CSS جز این دسته هستند البته این دو زبان برنامه نویسی نیستند و زبان نشانه گذاری هستند یعنی هیچ کار محاسباتی انجام نمیدهد و فقط کار نمایش یه چیز رو دارند. در واقع ساختار کلی یک صفحه وب HTML و نحوه نمایش مانند رنگ ها ، نوع فونت ها و یا نوع نوشته ها توسط CSS بیان میشوند. در واقع HTML پایه اصلی صفحات وب است و CSS عناصر ظاهری را تعریف میکند. در عین حال برای برخی عوامل تعاملی مانند عکس العمل به فشار کلید و یا کنترل حرکت ماوس از Java Script استفاده میشود.یکی از مسائل مهم این است که Java Script هیچ ربطی به JAVA ندارد. زبان Java Script تنها توسط مرورگر وب اجرا میشود.
نکته مهم: زبان های سمت کاربر در واقع وظیفه نمایش محتوای تولید شده را دارند.
HTML چیست؟
زبان HTML مخفف واژگان HyperText Markup Language به معنی زبان نشانه گذاری فرامتنی است که در ساخت صفحات وب به کار گرفته می شود. این زبان، زبانی بسیار ساده اما در عین حال کاربردی است که برای ورود به دنیای برنامه نویسی، گزینه ی مناسبی است.
آقای تیم برنرزلی در تلاش بود که مجامع علمی سراسر دنیا از طریقی پروتکلی بتوانند مقالات علمی را به راحتی با یکدیگر به اشتراک بگذارند. در همین راستا، وی در سال 1989 اولین نسخه از زبان اچ تی ام ال را طراحی کرده و به دنیا عرضه نمود. در ادامه ی راه، وی سازمان 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 یا صفحات فعال تحت سرور است که نسخه اولیه این زبان تحت فریم ورک دات نت در سال 2002 توسط کمپانی مایکرو سافت برای تولید صفحات پویا معرفی شد و در حال حاضر به یکی از پرقدرترین زبان ها برای تولید اپلیکشین های وب مبدل شده است. اپلیکیشن های نوشته شده بااین زبان در سرور های ویندوز قابل اجرا است و معمولا بانک اطلاعاتی آنها همان sql server معروف است. سایت های معروفی مثل دیجی کالا، بانک ملی ، ورزش3 و . . . با این زبان، برنامه نویسی شده اند. اگر به دنبال یادگیری این زبان هستید میتوانید مقاله چگونه متخصص ASP.Net MVC شویم ؟ رو مطالعه کنید.
زبان برنامه نویسی PHP:
یکی از معروف ترین زبان های برنامه نویسی سمت سرور است . برنامه های نوشته با این زبان اسکریپتی تحت لینوکس اجرا میشوند البته php میتواند توسط ویندوز هم به اجرا دراید ، نام بانک اطلاعاتی این زبان Mysql است. معمولا CMS های آماده (وردپرسف جوملا، دروپال و . . .) معروف و خوب با این زبان برنامه نویسی طراحی و برنامه نویسی شده اند. میتوان از آن به عنوان یک زبان عمومی نیز استفادهکرد.
زبان برنامه نویسی پایتون:
پایتون یک زبان همه منظوره و بسیار محبوب است! اگر فقط به شغل فکر میکنید، فریمورکهای پایتون بهترین انتخاب برای شما هستند. پایتون سینتکس بسیار سادهای دارد.بدون شک، پایتون یکی از بهترین و محبوبترین زبانهایی است که میتوانید یاد بگیرید. میزان رشد پایتون در سال ۲۰۱۶ برابر با ۵۴% بود. این زبان در رده بندی انجمن TIOBE در رتبه پنجم قرار دارد.
زبان برنامه نویسی روبی:
طراحی و توسعه زبان رابی به اواسط دهه 1990 بازمی گردد. منتشر کننده این زبان فردی به نام یوکیهیرو ماتز ماتسوموتو (Yukihiro Matz Matsumoto) بود. نسخههای متعددی از این زبان طی سال های متوالی توسعه یافت و نسخه پایدار آن در سال 2006 منتشر شد. از محبوبترین فریم ورکهایی که در چندسال اخیر برپایه این زبان توسعه یافته می توان Ruby on rails را نام برد که با شعار “کشف بن بست شکنانه برای کاهش موانع ورود به برنامهنویسی” شهرت دارد. الگوی طراحی برنامههای این فریمورک برپایه MVC است.
زبان برنامه نویسی پرل:
خیلی ها معتقدند که زبان Perl ، نسخه جدید زبان COBOL است . Perl همچنین مانند یک نوار مسیر عبوری برای اینترنت به نظر میرسد و بیشتر برای هماهنگ سازی پایگاه های اطلاعاتی با دیگر سیستم ها به کار می رود . بی شک تا زمانی که زبان های اسکریپتی و پویا مثل Perl ، PHP ، Python و Ruby متقاضی دارند ، زبان های اصلی مثل Java ، در پشت سر اینها می مانند و دلیل آن رشد روز افزون محبوبیت این زبان ها در میان افرادی است که توانایی های بالقوه و قدرت کاربردی اینگونه نرم افزار ها را درک کرده که باعث میشود نیاز به برنامه نویسان این زبان ها در جامعه رشد کنند .
زبان برنامه نویسی جاوا:
در ابتدا باید توجه داشت که زبان جاوا و جاوا اسکریپت دو زبان کاملا مجزا ازهم هستند. جاوا یکی از محبوبترین زبانها تا سال 2012 بود. این زبان توسط جیمز گاسلینگ (James Gosling) و تحت لیسانس شرکت سان در سال 1995 خلق شد. جاوا قابلیت پیاده سازی بر روی تمام پلتفرمهای استاندارد را دارد.
تکنولوژیهای جاوا را می توان به سه گروه تقسیم کرد :
- جاوا برای موبایل اپلیکیشنها (J2ME): این تکنولوژی بیشتر با نام J2ME یا Java 2 Mobility Editionشناخته شده است و بیشتر برای مقابله با محدودیتهای ساخت برنامههای کاربردی در دستگاههای کوچک مورد استفاده قرارمیگیرد و همچنین دارای کتابخانههای بسیاری برای توسعه اپلیکیشن است، مانند اپلیکیشنهای تلفن همراه.
- نگارش استاندارد جاوا (J2SE): عنوانی که برای این تکنولوژی رواج یافته J2SE است و مخفف عبارت Java 2 platform standard edition میباشد. به کمک این تکنولوژی میتوان طیف وسیعی از برنامه های کاربردی (اعم از بازیهای گرافیکی تا اپلیکیشنهای مرتبط با پایگاههای داده) را تولید کرد. همچنین در کتابخانههای آن کلیهAPI ها و کلاسهای مورد نیاز وجود دارد.
- نگارش سازمانی جاوا (JEE): نام این پلتفرم جاوا Java enterprise edition است. این تکنولوژی در توسعه برنامههای بسیار بزرگ و سازمانی مورد استفاده قرارمیگیرد، برنامه نویسان این نسخه از جاوا قادرخواهند بود برنامههای عظیمی برای شبکهها و حتی سرورها تولید کنند.
توجه: در این مقاله از دو کلمه فریم ورک و پلتفرم استفاده شده اگر در مورد این دو اطلاعاتی ندارید پیشنهاد میکنم مقاله معنی و مفهوم پلتفرم و فریم ورک رو مطالعه کنید.
زبان های دیگر هم هست اما در این مقاله سعی شده زبان های مهم، پرکاربرد و معروف رو معرفی کنیم. اگر به دنبال یادگیری و آموزش برنامه نویسی هستید میتوانید از منابع آموزشی که داخل سایت سورس ایران قرار داده ایم استفاده کنید.
دیدگاه کاربران
تعداد دیدگاه های کاربران : 15 دیدگاهسلام خدمت ادمین محترم وقتتون بخیر
من هدفتم این که بیشتر بتونم اپ طراحی کنم ولی سایت اپم رو هم خودم بتونم بسازم
در حال حاضر من html و css رو با دوره اموزشی خودتون یاد گرفتم بنظرتون بهترین گام بعدی چی میتونه باشه؟
سلام
وقت بخیر
الان شما به html و css کامل مسلط شدید یا فعلا تگ ها رو یاد گرفتید؟
پیشنهاد میکنم اول طراحی سایت رو یاد بگیرید و مسلط بشید بعد برید سمت چیزای دیگه
کم کم
جواب سوال بالا رو بدید تا گام بعدی رو معرفی کنیم
با سلام
من زبان های html css بلدم پیشنهاد شما برای مسیر بعدی چیه؟ ممنون میشم راهنمایی کنید.
سلام
وقت بخیر
گام بعدی برید سمت بوت استرپ
از لینک زیر استفاده کنید
پکیج آموزش طراحی سایت با بوت استرپ – طراحی دو وبسایت
با سلام و تشکر یه سوال داشتم من اگر زبانhtml ,Cass,JavaScriptرو یاد بگیرم میتونم برنامه نویسی وب و انروید رو انجام بدم؟؟برای طراحی بازی های سایتی و موبایلی چه کار باید بکنم ؟
سلام
وقت بخیر
برای وب بخش فرانت اند همینا کافی هستند
به نظرم تو یک حوزه کار کنید و چند حوزه رو با هم ادامه ندهید
چون باعث میشه شاخه به شاخه بپرید و رشدی نداشته باشید
در کنارشم تمرکز شما به شدت کاهش پیدا می کند
فقط من چندتاسوال دارم
اگرمن بخوام برنامه نویسی رو ازصفرتاصدیادبگیرم بایداول HTML دومcss یادبگیرم درسته؟ وبرای سمت سرورهم اگرازآسون ترین برنامه نویسی بخوام شروع کنم برای منی که خیلی تازه کارم کدوم برنامه نویسی رو پیشنهادمیکنید؟آیاپایتون؟
اگرمن بخوام برنامه های سمت سرور رو از آسون به سخت عددگذاری کنم که نوبتی برم آموزشگاه یادبگیرم ،شماچه نظری داریدکه من ازکدوم یکی شروع کنم
سلام
وقت بخیر
اگه هیچی از برنامه نویسی نمیدونید یا اینه میخواید برنامه نویسی وب کار کنید بهترین کار یادگیری html و css هستش
بعد از اینکه این دو رو یاد گرفتید باید برید سمت زبان برنامه نویسی
به نظرم پایتون گزینه بدی نیست ولی گزینه خوب زیاد داریم
زیاد درگیر مسیر نشید سریع استارت یادگیری html و css رو بزنید تموم کردید پیام بدید گام بعدی رو بهتون معرفی کنیم
نیازی به آموزشگاه نیست چون بیشتر جنبه تئوری داره آموزشگاه
از رو بسته های آموزشی می تونید یاد بگیرید
داخل سایت هم تو این زمینه بسته آموزشی گذاشتیم
خیلی ممنونم از راهنماییتون.
سلام واقعاعالی بودتوضیحاتتون متشکرم.
من تازه الان فهمیدم بایدچجوری یک برنامه نویس بشم
سلام. واقعاعالیییییی بود توضیحاتتون متشکرم
ممنونم از توضیحات خوبتون
اگه بخواهید نسبت به بازار کار توصیه کنید برای یادگیری، پیشنهاد شما چه برنامه ای هست؟
آیا یادگیری php – perl – pyton سخته ؟
و حداکثر چقدر زمان خواهد برد ؟
سلام
وقت بخیر
اول php
پایتون
پرل
.
یک سال
موفق باشید
چیزی به نام زبان برنامه نویسی ASP.NET وجود ندارد ، ASP.NET یک فریم ورک است روی زبانهای تحت دات نت.
دوست عزیز asp.net اولا یک تکنولوژی هست بعدش بین مردم به عنوان یک زبان شناخته می شود
برای اینه ما میگویم زبان
فریم ورک چیزی دیگست
موفق باشید