نوشته شده توسط مهندس کلانتری
آدرس کوتاه: https://sitedar.com/?p=62
اصطلاح توسعه وب به ایجاد وب سایت اشاره می کند که می تواند در دامنه وسیعی از یک صفحه وب ساده تا یک سری صفحات به هم مرتبط و اپلیکیشن های وب نیز اطلاق شود. توسعه وب فعالیت های مختلفی را در بر می گیرد برنامه نویسی، هاست، امنیت، محتوا و غیره. برای توسعه وب سایت اما شما به چندین مهارت مانند آشنایی با زبان برنامه نویسی، CMS، دیتابیس و غیره نیاز دارید.
در توسعه وب اپلیکیشن و انتخاب زبان برنامه نویسی شما باید بدون شک با HTML، JavaScript و CSS آشنایی داشته باشید. اما در ادامه کار شما نیاز به زبان های دیگری خواهید داشت. اینکه ما در توسعه وب از چه زبان برنامه نویسی استفاده کنیم به المان های زیادی بستگی دارد.
پلتفرم شما چیست؟ یعنی قرار است وب سایت یا وب اپلیکیشن شما بر روی چه نوع سروری راه اندازی شود. همه زبان ها در همه پلتفرم ها قابل اجرا نیستند. برای مثال شما برای ASP نیاز به سرور ویندوزی دارید در حالی که برای زبان C شما می توانید هم از ویندوز و هم از لینوکس استفاده نمایید.
زمینه فعالیت شما چیست؟ زبان برنامه نویسی برای وب یا هر برنامه کاربردی باید نسبت به کارها و عملیات های مورد نیاز در آن حوزه انتخاب شود. برای همین در انتخاب زبان برنامه نویسی می توان به پروژه های موفق در همان حوزه و زبان های استفاده شده در آن نگاه کرد و نیم نگاهی هم به گزینه های جدید و مشابه داشت. از سوی دیگر اندازه پروژه شما نیز مهم است. تمهیدات زیادی برای یک پروژه بزرگ لازم است در زمان انتخاب زبان برنامه نویسی و توسعه صورت گیرد که ممکن است برای یک پروژه کوچک اصلا اهمیتی نداشته باشد.
لیست مطالب
بهره وری و در دسترس بودن نیز یکی از نکات مهم در انتخاب زبان برنامه نویسی است. زبان های برنامه نویسی پر قدرتی وجود دارند اما استفاده از آنها دشوار و بعضا به صرفه نیست. یعنی برنامه نویسان حرفه ایی آن زبان یا باید زمان زیادی را صرف توسعه برنامه بکنند چون ذاتاً آن زبان کار بیشتری طلب می کند یا آنکه به علت دشوار بودن یک زبان برنامه نویسی نیروی کار حرفه ایی در آن کم بوده یا دستمزد های آن ها برای بسیاری از پروژه ها توجیه اقتصادی ندارد.
مسئله دیگر در انتخاب زبان برنامه نویسی قدرت مقیاس پذیری آن است. منظور از مقیاس بزرگی برنامه می باشد. ممکن است وب اپلیکیشن شما در طی سال ها نیازمند امکانات جدیدی شود. زبان برنامه نویسی انتخابی باید علاوه بر اینکه امکان توسعه بخش های جدید پیش بینی نشده را به خوبی داشته باشد باید همچنین کیفیت عملکرد برنامه کنونی را حفظ کند مثلا وب سایت را دچار کاهش سرعت نکند. از سوی دیگر می توان هر بخش از یک پروژه را یا یک زبان برنامه نویسی متفاوت نوشت. مثلا همزمان از جاوا، C# و پایتون استفاده کرد. اما باید سازگاری های زبان ها و هزینه نگهداری و مدیریت این تنوع را در نظر داشت.
بنابراین انتخاب زبان برنامه نویسی نیاز به دانش و تجربه زیادی دارد. هر چه پروژه بزرگ تر و پیچیده تر بوده و قسمت های بیشتری به آن متصل شود، شما در انتخاب خود نیاز به دقت و بررسی بیشتری خواهید داشت. در دنیای تکنولوژی پروژه های موفق و شکست خورده بسیارند. نه بخاطر وجود زبان برنامه نویسی خوب و بد، بلکه برای انتخاب های درست و غلط. من شخصا تجربه این را داشته ام که یک پروژه بزرگ بخاطر نیازمندی های زیاد با یک تکنولوژی جدید توسعه داده شد چون تنها تصور تصمیم گیرنده این بود که زبان جدید می تواند نیازمندی های امکانات جدید را فراهم کند. در صورتی که این تصور غلط موجب شد که محصولی کم کیفیت توسعه داده شود که پس از چند سال نیاز به بازنویسی با زبان برنامه نویسی دیگری را پیدا کند. در این مقاله از دارکوب می خواهم درباره چند زبان برنامه نویسی معروف در وب صحبت کنم.
جاوا اسکریپت JavaScript))، یک زبان اسکریپتی است که در کنار HTML و CSS مهم ترین تشکیل دهنده صفحات وب هستند. جاوا اسکریپت امکان Interactive در صفحات وب اپلیکیشن ها را فراهم می کند. و به عنوان یک زبان چند وجهی می تواند با به کار گیری توابع، API ها و غیره المان های HTML، کاراکتر های ورودی، امکانات گرافیکی و طراحی وب سایت را به طرق مختلف به کنترل برنامه نویس در آورد.
این زبان برنامه نویسی در ابتدا برای صفحات وب در سمت کاربر استفاده می شد. اما به تدریج کاربرد و توانایی های افزایش پیدا کرد تا به حدی که امروز در سمت سرور (Node.JS) یا حتی برنامه های کاربردی خارج از وب مانند مایکروسافت ورد و نرم افزارهای PDF برای عملیات های مختلف بخصوص اعتبار سنجی فرم ها استفاده شود.
نام جاوا اسکریپت همیشه بیاد آورنده زبان پر قدرت جاوا است. اگر چه این دو زبان از نظر اسمی با هم شبیه هستند اما در واقع دو زبان کاملا متفاوت می باشند. اهمیت جاوا اسکریپت از آن جهت است که یادگیری آن آسان بوده و علاوه بر آن بسیار پر کاربرد است. تا حدی که فریم ورک های جدیدی مانند بوت استرپ با استفاده از کد های جاوا اسکریپت تولید شده اند که کار توسعه وب سایت را به شدت سریع و با کیفیت تر کرده است. با این حال وجود این فریم ورک ها هر یک نیاز به صرف زمان و تجربه برای یک طراحی حرفه ایی و پایدار را دارند. لازم به ذکر نیست که تمام مرورگر های اینترنتی از این زبان پشتیبانی می کنند و برای همین استفاده از آن بشدت گسترش یافته است.
PHP یکی از محبوب ترین و معروف ترین زبان های توسعه وب است. PHP یک زبان متن باز سمت سرور می باشد که طرفداران زیادی در بین توسعه دهندگان حرفه ایی وب دارد. قدرت PHP به حدی است که بسیاری از برنامه نویسان آن را به عنوان بهترین زبان در توسعه وب می دانند. متن باز بودن و قابلیت هایش باعث شده که تقریبا تمامی سیستم های مدیریت محتوا CMS از این زبان برای توسعه خود استفاده کنند. مثلا فیسبوک و وردپرس از این زبان استفاده می کنند. اما چرا PHP؟
زمان بارگذاری سریع: PHP سریع ترین وب سایت ها را می سازد. PHP از ASP بخاطر روش پردازش متفاوتش بسیار سریع تر است.
ارزان بودن: در صورت استفاده از PHP و نیاز به ابزار های دیگر به علت متن باز بودن، یا این نرم افزار های جانبی رایگان هستند و یا ارزان. در نتیجه محصول تولید شده بسیار اقتصادی تر از زبان هایی است که شما باید برای استفاده از آن ها لایسنس خریداری نمایید.
هاست ارزان: اگر شما بجای PHP از ASP استفاده کنید برای راه اندازی آن بر روی سرور نیاز به خرید لایسنس ویندوز سرور و IIS دارید. بنابراین شرکت های ارائه دهنده هاست هزینه ماهانه بیشتری را برای نگهداری وب سایت شما درخواست می کنند. اما PHP بر روی لینوکس و آپاچی راه اندازی می شوند که هر دو متن باز و رایگان هستند.
انعطاف پذیری در دیتابیس: PHP در ارتباط گرفتن انواع دیتابیس بسیار منعطف است. با این حال بیشترین نوع دیتابیسی که از آن استفاده می کند MySQL می باشد. خبر خوب این است که این دیتابیس نیز رایگان است. در صورتی که محصول مشابه مایکروسافت SQL هزینه لایسنس بالایی را به وب سایت تحمیل می کند.
نیروی کار حرفه ایی: PHP زبان پر قدرتی است. با این حال نیروی کاری حرفه ایی در سطوح مختلف برای آن وجود دارد. تازه کاران می توانند به راحتی آن را یاد بگیرند و در سطح خیلی حرفه ایی نیز نیروی متخصص آن نیز برای نیاز بازار وجود دارد.
در میان زبان های برنامه نویسی شاید هیچ یک مانند پایتون نتوانستند به سرعت طرفدار و اعتباری به این بالایی پیدا کند. تا جایی که در سال 2016 نزدیک به 27 درصد برنامه نویسان ترجیح می دادند که برنامه های خود را با پایتون بنویسند. و این علاقه مندی بی دلیل نیست. این زبان علاوه بر سادگی دارای اصول OOP بوده و بسیار مقیاس پذیر است. بنابراین دامنه زیادی از برنامه ها با آن قابل توسعه هستند، از یک پروتوتایپ گرفته تا یک وب سایت فروش گاهی بزرگ.
پایتون در ابتدا به علت ساده بودن بیشتر توسط دانشمندان برای کارهای علمی به کار گرفته می شد. امروز همه پایتون را به عنوان یک زبان برنامه نویسی سریع و آسان می شناسند. این زبان توسط اپلیکیشن نویسان و توسعه دهندگان وب (با کمک جنگو) مورد استفاده قرار می گیرد و دارای قدرت کاربردی، خوانایی و بهره وری بالایی است.
خوشبختانه یادگیری زبان پایتون بسیار ساده است و برای کسانی که با C و یا جاوا آشنایی دارند یادگیری آن هیچ زحمتی ندارد. همانطور که گفتم برای راحتی در توسعه وب سایت و وب اپلیکیشن ها فریم ورک جنگو Django با تعداد زیادی کامپوننت برای وب توسعه داده شد. این فریم ورک کار برای برنامه نویس وب بسیار ساده کرده است و دیگر لازم نیست برنامه نویس زمان خود را برای توسعه قسمت های تکرار شونده صرف کند. برای همین در جنگوی پایتون برنامه نویس تمرکز بیشتری بر قسمت های اختصاصی وب اپلیکیشن دارد. در واقع این فریم ورک آمده که برنامه نویس دست به اختراع دوباره چرخ نزند. از وب سایت هایی که از پایتون و یا جنگو در توسعه خود استفاده کرده اند می توان به Pinterest و فیسبوک و گوگل نیز اشاره کرد.
روبی در سال 1993 توسعه داده شد که یک زبان برنامه نویسی داینامیک متن باز است که برای ایجاد و توسعه اپلیکیشن های موبایل و وب سایت مورد استفاده قرار می گیرد. این زبان به خوبی برنامه نویسی دستوری را با برنامه نویسی توابع بالانس می کند و زبان بسیار مقیاس پذیری است. این پلتفرم متن باز نه تنها درک آسانی دارد بلکه نوشتن آن نیز آسان است. اما اگر شما می خواهید این زبان برنامه نویسی را یاد بگیرید باید پیش از آن با فریم ورک دیگری به نام Ruby on Rails آشنا شوید. روبی برای کسانی که به کارهای خلاقانه علاقه دارند انتخاب بسیار خوبی است.
روبی در زمان نوشتن بسیار پر بازده، دقیق و ساده است. روبی معمولا در وب سرور ها جایی که ترافیک بالا است استفاده می شود. برخی پلتفرم ها که از این زبان برنامه نویسی استفاده می کنند عبارتند از: Hulu، Twitter و Scribd.
با همه خوبی های روبی شاید این سوال پیش بیاد که چرا آن چنان که در حد این زبان است طرفدار ندارد. شاید مشکل را بتوان تا بخشی بخاطر میزبانان وب دانست. در واقع روبی نسبت PHP نیازمندی های خاص بیشتری دارد و فراهم کننده های هاست کمتری به نسبت برای آن وجود دارد. و از سوی دیگر در مقیاس پذیری و سرعت PHP و جاوا جایگاه بهتری نزد توسعه دهندگان وب به دست آورده اند. و پایتون نیز رقیب قدرتمندی در سادگی و سرعت توسعه آن است.
جاوا زبان معروف و پر استفاده ایی در دنیای توسعه وب است. این زبان OOP، Concurrent و Class-based در سال 1990 توسط Sun Microsystemsتوسعه داده شد. بعد از آن بطور مداوم طرفداران آن افزایش یافتند و حتی به یک استاندارد برای شرکت ها، توسعه دهندگان موبایل و بازی در سرتاسر دنیا تبدیل شد. برنامه های نوشته شده با این زبان قابلیت اجرا در پلتفرم های مختلف مانند لینوکس، مک و ویندوز را دارند. جاوا در طول سال ها در حال اصلاح و بهبود بوده و در این مدت 5 هدف را دنبال می کرده است: باید امن و پایدار باشد، شی گرا بوده و ساده باشد، باید قابلیت اجرای بالایی داشته باشد، باید به صورت Thread، داینامیک و تفسیری باشد، قابل انتقال بوده و معماری خنثی داشته باشد. از وب سایت هایی که از جاوا نیز در توسعه وب سایت های خود استفاده کرده اند می توان به eBay، لینکدین، آمازون و حتی Youtube اشاره کرد.
این زبان برنامه نویسی با مقاصد عمومی نه تنها قابلیت های دستوری بالایی دارد بلکه برای برنامه نویسی در سطح پایین (یعنی نزدی به زبان ماشین) و دستکاری حافظه امکانات خوبی دارد. از آنجایی که این زبان هم در سطح بالا و هم در سطح پایین امکانات خوبی را به برنامه نویس می دهد به آن زبان سطح میانی گفته می شود. این زبان ابتدا در سال 1979 توسعه داده شد. C++ همچنین یک زبان شی گرا است.
C++ و C زبان های بسیار نزدیکی هستند. این زبان دارای جزئیات فنی زیادی است. این زبان نیز در کنار سایر زبان ها در سایت های بزرگی چون گوگل، آمازون، توئیتر، فیسبوک و غیره استفاده شده است.
یکی دیگر از زبان های برنامه نویسی با اهداف عمومی است که در دهه 1970 توسعه داده شد. این زبان در بسیار از پلتفرم های شناخته شده مانند: C++، پایتون، جاوا و غیره استفاده شده است و به طور مستقیم و غیر مستقیم ویژگی هایی مانند نحو، کتابخانه ها استاندارد، ساختار و غیره را از آن به ارث برده اند. این زبان برنامه نویسی در کنار سایر زبان ها در وب سایت های معروفی چون YouTube و گوگل استفاده شده است.
C یک زبان دستوری و رویه ایی است، این زبان به گونه ایی طراحی شده که با یک کامپایلر ساده کار کند. علاوه بر این C به گونه ایی است که حداقل منابع را در زمان اجرا نیاز دارد و به اصطلاح Cross-platform نیز می باشد.
همانطور که دیدید هر یک از این زبان های برنامه نویسی قابلیت های خاص خود را دارند و برخی موارد می توان یکی را به جای دیگری استفاده نمود. در واقع هیچ زبان برنامه نویسی بهترین نیست. بلکه هر یک در جای خود برای نیازی توسعه داده شده و کار می رود. زبان هایی با پیچیدگی ها و جزئیات زیاد نمی توانند برای یک پروژه کوچک توجیه داشته باشند اما از طرف دیگر زبان های ساده ایی هم هستند که می تواند وب سایت های بزرگ و قدرتمند را پشتیبانی کنند. با این حال در پروژه های بزرگ هیچگاه دیده نمی شود که فقط از یک زبان استفاده شده باشد بلکه چندین زبان نسبت به قدرت و نیاز در کنار یکدیگر بکار برده شده است.