تحت وب یا تحت ویندوز!

این پست رادمان، توجه من را به مسئله ای مئطوف کرد که چند وقتی است موضوع بحث داغ بین افراد مختلف در زمینه برنامه نویسی سیستم های نرم افزاری است. این که برنامه هایی که تولید می کنیم تحت وب کار کند یا تحت ویندوز، مسئله ای است که جواب آن در نیازهای یک محصول نهفته می باشد. در اینجا این مسئله را در مورد کشور خودمان یعنی ایران مورد بحث قرار می دهیم. همان طور که می دانید در کشورهای پیشرفته دسترسی به اینترنت پر سرعت برای همه افراد جامعه آسان است و آن ها برای استفاده از نرم افزارهای تحت وب معمولاً مشکلی ندارنت�ت ویندوز یا ت�ت وب؟!!د و هر روز شاهد گسترش نرم افزارهای تحت وب در میان این قشر هستیم. همچنین به علت استفاده ی تقریباً صد در صد شرکت های دولتی و خصوصی کشور ایران از سیستم عامل ویندوز، در اینجا بحث ما بر سر نرم افزارهای تحت وب و تحت ویندوز خواهد بود. در این مطلب نگاهی به تفاوت های نرم افزارهای تحت وب و تحت ویندوز خواهیم داشت.

مهمترین تفاوت نرم افزارهای تحت ویندوز و تحت وب در رابط کاربری (UI) و نحوه ی توزیع آن هاست. نرم افزارهای تحت ویندوز از رابط کاربری غنی تر و کنترل های گسترده تری بهره می برند. منو ها، کلید های میانبر، دکمه ها و کنترل های متنوع دیگر با سرعت پاسخگویی سریع به کاربر در پنجره های ویندوز قابلیتی است که نرم افزارهای تحت وب کمتر از آن بهره می برند. استفاده از برخی تکنیک های برنامه نویسی ویندوز در نرم افزارهای تحت وب امکان پذیر نیست و این مسئله می تواند به کارایی نرم افزار شما لطمه وارد کند. مسئله ی مهم دیگر سرعت در پردازش اطلاعات و پاسخگویی به کاربر یا کاربران سیستم است. در نرم افزارهای تحت وب به علت ماهیت شبکه ای و چند کاربره بودن آن ها، معمولاً به علت ترافیک و عوامل دیگر، سرعت پردازش و پاسخگوئی به کاربر بسیار کند تر از نرم افزارهای تحت ویندوز است. در برخی مواقع که نرم افزار تحت وب روی شبکه جهانی اینترنت قرار دارند، امکان دسترسی همیشگی به آن مخصوصاً در کشور ما ممکن است امکان پذیر نباشد. سرعت پائین خطوط اینترنت در ایران و بعضاً غیر قابل دسترس بودن سرویس های اینترنتی در برخی مواقع، واقعیت هایی است که روی کارایی نرم افزار تحت وب شما اثر خواهد کرد.

تفاوت مهم دیگر در این نرم افزارها، مسئله ی توزیع یا Deployment است. معمولاً تولید کنندگان نرم افزارهای تحت ویندوز، محصولات خود را به صورت بسته های آماده ی قابل نصب (Setup) توزیع می کنند. این بسته ها به صورت یک برنامه ی کاربردی جداگانه و معمولاً به صورت قدم به قدم کاربر را در نصب و آماده کردن نرم افزار یاری می کنند. این روش هر چند ساده به نظر می آید ولی در برخی مواقع کاربران بسیار مبتدی با همین بخش نیز مشکل خواهند داشت. اما در نرم افزارهای تحت وب، یک بار برای همیشه برنامه را روی سرویس دهنده نصب می کنیم و کاربران بدون هیچ دردسری با استفاده از یک مرورگر از آن استفاده می کنند.

یکی دیگر از مسائلی که باید به آن توجه کرد، کنترل نسخه های نرم افزار است. در نرم افزارهای تحت ویندوز ممکن است کاربران از نسخه های مختلف محصول ما استفاده کنند و این می تواند مشکلاتی همچون عدم سازگاری و به روز نبودن نرم افزار را به همراه داشته باشد. اگر پس از استفاده گسترده ی مشتری ها از محصول ما، باگ ها و مشکلات بسیاری رخ بدهد، پس از رفع آن مسئله ی به روز رسانی نرم افزار بسیار مشکل خواهد بود. اما وقتی نرم افزار ما به صورت تحت وب عرضه شود، همیشه مطمئنیم که مشتری ها از آخرین نسخه ی محصول مان استفاده می کنند و به محض بروز مشکلی در سیستم، به روز رسانی آن بسیار آسان و بدون دردسرهای اضافی خواهد بود.

تتیجه؟

جواب مشخصی به این سئوال که کدام یک از روش های فوق برای تولید یک نرم افزار مناسب است، وجود ندارد. چیزی که مشخص است، در دنیای امروز نرم افزارهای اجتماعی و عمومی در حال حرکت به سمت وب هستند و نرم افزارهای کاربردی و سیستمی فعلاً جایگزینی در فضای وب ندارند. چیزی که مهم است، انتخاب درست شما بر اساس نیازهایتان خواهد بود.

شروع برنامه نویسی وب

اگر قصد یادگیری برنامه نویسی تحت وب را دارید حتماً تا انتهای این نوشته را بخوانید. امروزه برنامه های تحت وب گسترش فراوانی پیدا کرده اند و هر روز کاربران با نیازهای جدیدی برخورد می کنند که برطرف کننده این نیازها فقط برنامه نویسان متخصص وب هستند. به همین دلیل بازار برنامه نویسی تحت وب چه در ایران چه در خارج از کشور بسیار رونق گرفته است. در این میان ابزارها و زبان های برنامه نویسی مختلفی برای گسترش برنامه های تحت وب وجود دارد که هر کدام مزایا و معایب بسیاری دارند. تعدد این ابزارها و زبان ها باعث سردرگمی بسیاری از تازه کارانی که قصد یادگیری برنامه نویسی تحت وب را دارند، می شود. در این نوشته سعی بر این است که با زبانی ساده شما را در انتخاب ابزارها و زبان های برنامه نویسی تحت وب یاری کند.
تذکر : این نوشته برای روی برنامه نویسی تحت وب تمرکز دارد نه طراحی وب، این دو مقوله های کاملاً جدا از هم می باشند.
اولین مهارتی که بایسیتی فرا بگیرید، درک کدهای HTML و نحوه کاربرد هر یک از تگ های این زبان می باشد. یادگیری و استفاده از این زبان نشانه گذاری بسیار آسان تر از آن چه که فکر می کنید خواهد بود. در واقع اساس صفحات وب برکدهای HTML استوار می باشد. برای یادگیری این زبان منابع بسیاری در اینترنت موجود می باشد. بنده این سایت را به شما توصیه می کنم.
پس از درک زبان HTML نوبت به یادگیری زبان اسکریپت نویسی JavaScript برای خلق صفحات پویاست. به کمک این زبان می توانید به اشیای داخل صفحات دسترسی مستقیم پیدا کرده و آن ها را تغییر دهید. جاوا اسکریپت امروزه در برنامه نویسی تحت وب کاربرد فراوانی دارد و جزء اجتناب ناپذیری از وب 2 می باشد. برای یادگیری این زبان این سایت گزینه ای مناسب خواهد بود.
پس از یادگیری این دو نوبت به انتخاب تکنولوژی و زبان برنامه نویسی برای ایجاد صفحات پویای تحت وب میرسد. برای شروع شما اساساً با دو سه انتخاب مواجه هستید که مطمئناً تا به حال دوستانتان آن ها را به شما پیشنهاد داده اند. تکنولوژی ASP مایکروسافت و زبان PHP انتخاب های شما در این زمینه خواهند بود. در اینجا شما یا قبلاً تجربه برنامه نویسی به زبان های دیگر را داشته اید یا نداشته اید. اگر قبلاً با زبان Visual Basic برنامه نویسی می کرده اید شک نکنید که با ASP هیچ مشکلی نخواهید داشت. استفاده از ASP به راحتی استفاده از VB خواهد بود.اگراز قبل با هیچ زبانی آشنایی نداشته اید و یا با زبان هایی مثل پاسکال و سی آشنایی کافی دارید پیشنهاد من به شما زبان PHP خواهد بود.
چرا PHP؟
  • رایگان و OpenSource : تهیه مفسر PHP برای همه رایگان است و به راحتی از سایت www.php.net قابل دانلود می باشد. سورس کد این مفسر در دسترس عموم است و مانند دیگر نرم افزارهای کدباز پیشرفت قابل توجهی داشته و خواهد داشت.استفاده از این زبان در وب سایت شما هیچ هزینه ای برای شما در بر نخواهد داشت و بسیاری از ویرایشگرهای حرفه ای و ابزارهای این زبان نیز به صورت رایگان و بعضاً کدباز در دسترس شما خواهد بود.
  • ساختار زبان PHP : یکی از دلایل مهم برتری PHP، شباهت ساختار و ترکیب آن به زبان پرقدرت C است.یادگیری نوع داده ها و ساختارهای این زبان برای کسانی که با زبان های خانواده C مثل C++, C#, Java آشنایی مختصری دارند بسیار آسان خواهد بود.
  • عدم وابستگی به سیستم عامل (Cross Platform) : یکی از برترین ویژگی های PHP سازگاری آن با اکثر سیستم عامل ها و نرم افزارهای وب سرور (مانند IIS و Apache) است. PHP را می توانید در ویندوز، انواع توزیع های لینوکس و حتی سیستم عامل های شرکت Apple تجربه کنید.
  • سرعت و کارایی بسیار بالا: PHP یکی از سریع ترین زبان های تحت وب در نوع خود است. به علت ترکیب کدهای PHP درون سندهای HTML سرعت بارگذاری صفحات وب بسیار سریع خواهد بود.
  • امنیت بالا : اگر بر اساس استانداردهای زبان PHP اقدام به برنامه نویسی صفحات وب سایت خود کنید، مطمئن باشید امنیت وب سایت شما تضمین شده خواهد بود. ابزارهای بسیار زیادی نیز جهت کمک به شما به صورت رایگان در سراسر اینترنت موجود است. در ضمن همیشه کسانی هستند که به سئوال های شما در زمینه امنیت پاسخ دهند.
  • ویژگی ها و امکانات عالی : کمتر نیازی در برنامه نویسی تحت وب پیدا می شود که توسط PHP امکان رفع آن نباشد. PHP شامل توابع و کتابخانه های بسیار زیادی است که روز به روز در حال گسترش می باشند، این کتابخانه ها در تسریع برنامه نویسی به شما کمک بزرگی خواهند کرد. کار با بانک های اطلاعاتی و فایل ها، پردازش فرم ها و درخواست های کاربر، ارسال ایمیل، کار با فایل های گرافیکی، متنی، باینری، PDFو ZIP، استفاده از پروتکل های مختلف بوسیله توابع کتابخانه های PHP بسیار آسان و لذت بخش است.
  • پشتیبانی کامل از بانک های اطلاعاتی مختلف : پشتیبانی کامل PHP از نرم افزارهای بانک اطلاعاتی MySQL, SQL Server, Oracle, dBase, IBM, mSQL, DB2, PostgreSQL, Interbase, Informix, Sybase و بسیاری دیگر PHP را به زبانی مناسب برای توسعه برنامه های بانک اطلاعاتی مبتنی بر وب تبدیل کرده است. البته امکان استفاده از بانک های اطلاعاتی Access و دیگر محصولات مشابه با پشتیبانی PHP از ODBC و COM نیز هست.
  • قابلیت سفارشی کردن : مجوز اوپن سورس PHP به تمامی برنامه نویسان امکان اعمال تغییرات در نرم افزار مفسر و اضافه کردن قابلیت های جدید به آن را در جهت رفع نیازهای خود به طور کامل می دهد.
بهترین راه برای یادگیری PHP مطالعه Manual رسمی این زبان است. این Manual از اینجا قابل دریافت می باشد. البته منابع بسیار متعددی را در اینترنت برای یادگیری PHP با یک جستجوی ساده پیدا خواهید کرد.
البته بسیار واضح است که شما می توانید به جای استفاده ازPHP زبان های دیگر مثل Perl را برگزنید و یا به جای یادگیری PHP اقدام به یادگیری ASP کنید. این نوشته بر اساس تجربه و نظر شخصی منتشر شده است و تنها هدف آن کمک به تازه کاران برای یادگیری برنامه نویسی تحت وب است.
خواننده گرامی هر گونه سئوال و پیشنهاد خود را در مورد این نوشته در قسمت نظرات همین پست مطرح کنید. با امید که این نوشته برای شما عزیزان مفید واقع شده باشد.
مطالب مرتبط  :