این مطلب رو چند ماه پیش برای هفته نامه عصر ارتباط نوشتم که در شماره ۳۹۴ چاپ شد.
امروزه نرمافزارهای متنباز با محبوبیت و اقبال زیادی مواجه شدهاند. کیفیت، تنوع، استفاده آزاد با ویژگیهای پیشرو کاربران را ترقیب به
جایگزین کردن آنها با برنامههای تجاری و مالکیتدار می کند. از نرمافزاری متنباز در زمینههای گوناگونی همچون پزشکی، آموزشی، مهندسی، علوم پایه، وب، ستاره شناسی، کامپیوتر و… بهره گرفته میشود ولی فکر میکنید بیشترین موفقیت متنباز تا به امروز در کدام زمینه بوده است؟
اگر بطور کلی نگاه کنیم وب بیشترین توفیق را در استفاده از نرمافزاهای متنباز کسب کرده است. بسیاری از سایتها با قدرت لینوکس، آپاچی، مایاسکیوال و پیاچپی (یا پرل و پایتون) نیرو میگیرند چیزی که در اصطلاح به آن لمپ (LAMP) میگوییم. البته کاربرد متنباز در وب تنها به این چند نرمافزار خاص محدود نمیشود. ازمروگرها گرفته تا سرورها و سایتها و دامنههای اینترنتی همگی وابسته به نرمافزارهای متنبازی هستند که اگر نبودند شاید کارکرد وب به راحتی الان نبود. در ادامه این مطلب از حضور متنباز در بخشهای مختلف تشکیل دهنده وب سخن خواهیم گفت و با تعدادی از مهمترین آنها آشنا خواهیم شد.
مرورگرهای وب: حلقه آبی در آتش
در حالی که مرورگر اینترنت اکسپلورر مایکروسافت تا سالیان پیش بیشترین سهم از بازار مرورگرها را در اختیار داشت اما با ورود موزیلا فایرفاکس به یک بازنده بزرگ تبدیل شد. اکنون مرورگر متنباز موزیلا فایرفاکس بخوبی میان کاربران شناخته شده است و هر سال سهم بیشتری از این بازار را تصاحب می کند. امنیت، پشتیبانی درست از استاندارهای وب و قابلیت شخصی سازی بهمراه گنجینه عظیمی از افزونهها برگهای برندهای هستند که IE مایکروسافت را از دور رقابت خارج کرد.
از طرفی مرورگر چابک و جوان گوگل کروم که مبتنی بر موتور متنباز WebKit است به سرعت به پیشرفت و رشد خود ادامه می دهد آنطور که توانسته در مدت کوتاه ۲ سال خود را به رده سوم برساند. به اینها گوشیهای هوشمند آیفون، اندروید، بلکبری و نوکیا را نیز اضافه کنید که پایه ثابت وب گردیهایمان شدهاند و مرورگرهایی قدرت گرفته از WebKit دارند که به گمانم در سال جاری از سافاری جلو خواهند زد.
خوب است به این نکته اشاره کنم که حتی پرکاربردترین استانداردهای وب مانند XML, http, HTML, CSS نیز متنباز هستند. کنسرسیوم جهانی وب (W3C) بعنوان یکی از مهمترین فراهم کنندگان استاندارهای ICT این عقیده را دارد که تکنولوژیهای وب بصورت استاندار باز تعریف شوند تا همگان دسترسی آسان به مطالعه و استفاده را داشته باشند، توسط گروهی خاص کنترل نشود و هر کس قادر به شرکت جستن در تولید فرآیند استاندارها باشد.
زبانهای برنامه نویسی وب: همه چیز را با P بنویس
بیشتر زبانهای برنامه نویسی بکار برده شده در وب مثل PHP, Perl, Pyton و Ruby متنباز هستند؛ در واقع همین مزیت متنباز بودن آنها باعث شده تا سایتهای بیشتری به استفاده از آنها روی آورند. اغراق نیست اگر PHP را نامیترین آنها بدانیم. استفاده از این زبان در مقایسه با رقیب مایکروسافتی خود یعنی ASP مزیتهایی دارد که موجب می شود انتخاب اغلب برنامه نویسان وب باشد.
قیمت سرورهای لینوکسی که قابلیت اجرای PHP و دیگر زبانهای متنباز را دارند به مراتب از سرورهای ویندوز که برای اجرای ASP نیاز است پایینتر است. سرعت اجرای کدهای نوشته شده با این زبان در تراز با ASP دست بالاتر خواهد بود. PHP بشدت انعطاف پذیر است و قابلیت ارتباط با پایگاههای داده مختلف را داراست و استفاده از آن هزینههای اضافی برای شما بدنبال نمیآورد. برنامههای نوشته شده با PHP, Perl, Pyton یا Ruby قادر خواهند بود روی سکوهای مختلف از قبیل لینوکس، یونیکس، ویندوز و سولاریس اجرا شوند در حالی که ASP ذاتا وابسته به ویندوز است و چند مزیت دیگر که پرداختن به آن در این مطلب جای نمیگیرد. با تمام این اوصاف تعداد کمی از سایتها هستند که کاملاً از پایه نوشته میشوند. هم اکنون صدها سیستم مدیریت محتوا و Framework یا چارچوب نرمافزاری متنباز وجود دارد که به توسعه دهندگان در ایجاد راحتتر و سریعتر وبسایتها کمک میکنند. وردپرس، جوملا، روبی آن ریلز، جانگو و دروپال از این جملهاند.
پایگاه دادهها: مایاسکیوال انتخابی برای همه
برنامههای متنباز آنچنان قدرتمند و قابل اعتماد شدهاند که حتی غولهای اینترنتی نیز مشتری آنها باشند. در بخش پایگاه دادهها بی شک MySQL شناخته شدهترین انتخاب است که شهرتش را می توان وامدار محبوبیت PHP دانست. سه ویژگی بارز MySQL یعنی کارایی بالا، قابلیت اعتماد و سهولت در استفاده موجب شده که شرکتهای بزرگی نظیر گوگل، فیسبوک، ادوبی، ویکیپدیا و… با اطمینان کامل این پایگاه داده را مورد استفاده قرار دهند.
PostgreSQL مدعی دیگر سیستم مدیریت پایگاه داده را هم نباید از یاد برد که یکی از ویژگیهای منحصر به فردش پشتیبانی گسترده از Data Type ها و زبان های اسکریپت نویسی مختلف است و بصورت چند سکویی قابل اجراست. از یاهو، مای اسپیس و اسکایپ بعنوان کاربران برجسته این پایگاه داده میتوان نام برد.
سرورها: در دست نوادگان یونیکس بزرگ
همه ما میدانیم که وبسایتها برای راهاندازی نیاز به سرور دارند جایی که لینوکس به شایستگی بر تخت حکومت آن تکیه زده است. اگر چه در کامپیوترهای رومیزی، ویندوز سیستمعامل غالب است ولی روی سرورها اوضاع کاملاً فرق میکند و این لینوکس است که کشش بیشتری به استفاده آن وجود دارد. در ستایش سرورهای لینوکس و مزیتهایی که نسبت ویندوز دارد سخنها می توان گفت ولی اگر بطور خلاصه بخواهیم ذکر کنیم عواملی چون پایداری، امنیت، انعطاف پذیری، کم هزینه بودن، پشتیبانی سخت افزاری و نرم افزاری وسیعتر از مهمترین آنها خواهد بود. بعلاوه خوب است BSD و سولاریس را نیز به یاد داشته باشیم که سرورهای زیادی را با قدرت خود به دست گرفتهاند.
وب سرور: آپاچی در صدر
یک سرویس دهنده وب یا وب سرور برنامهای است که به درخواستهای ارسال شده از طرف مرورگر پاسخ میدهد. بطور ساده هنگامی که یک صفحه html از طرف مرورگر فراخوانده میشود سرویس دهنده وب این درخواست را دریافت کرده، آن را در سرور پیدا میکند و به صورت پروتکل http به مرورگر میفرستد. رایجترین نرمافزار مورد استفاده در وب سرورها چیزی جز آپاچی نیست. آپاچی یک ارائه دهنده پروتکل HTTP متن باز است که نزدیک به ۱۵۰ میلیون وبسایت توسط آن میزبانی شدهاند این رقم نزدیک به ۶۰ درصد از کل سهم بازار را شامل میشود.
دیگری یک نرم افزار سبک به نام nginx (بخوانید انجیناکس) که در سالیان اخیر به سرعت فراگیر شده آنچنان که وب سرور گوگل (GWS) را نیز پشت سر نهاده است. در واقع ۲ تا از ۳ نرمافزار برتر وب سرور موجود متنباز میباشند. (رتبه دوم مربوط به IIS مایکروسافت است)
مثالهای زیادی برای برنامههای متنباز وب سرورها وجود دارد. برنامههایی چون Squid, Memcached و Varnish که در بسیاری از سایتهای پرترافیک برای سرعت بخشیدن به بارگزاری صفحات بعنوان کش سرور به کار گرفته میشوند. شرکتهایی مثل توییتر، یوتوب و فیسبوک از این نرمافزارها در سایتهای خود استفاده میکنند.
سامانه نام دامنه: اینترنت در گروه متن باز
وب یا در کل اینترنت بدون وجود Domain Name System که به اختصار DNS میخوانیم بلا استفاده بود. DNS همان چیزیست که استفاده از نام هایی مثل Asreertebat.com را بجای IP برای ما قابل استفاده میکند. در حقیقت اگر DNS نبود ما مجبور بودیم برای ورود به یک سایت بجای آدرس اینترنتی از IP آن استفاده کنیم که به یاد داشتن اعداد و ارقام آیپیها قطعاً بسیار دشوار میبود.
BIND شایعترین سامانه نام دامنه روی سرورهای اینترنت است که همانطور که حتماً تا به حالا حدس زدید، متن باز است.
۱۰ سال دیگه یه مطلب خواهی نوشت با عنوان «مایکروسافت؛ بازخوانی یک خاطره!»
داداش از این مطلب به قول خودمون خفن نهایت تشکر رو دارم. می خواستم از شما بپرسم شما تا بحال جانگو کار کردین؟ آیا برنامه نویس پایتون هستید؟ اگه نه بهتون پیشنهاد می کنم برین سراغش واقعا برنامه نویسی تحت وب با جانگو یه دنیاییه واسه خودش