عنوان:

‫چرا در سازمان‌ها برنامه‌های وب جایگزین برنامه‌های دسکتاپ شده‌اند (یا می‌شوند)؟


نویسنده: وحید نصیری
تاریخ: ۱۳۸۸/۱۰/۲۹ ۱۹:۴۲:۰۰
آدرس: www.dntips.ir

- برنامه‌های وب نیازی به نصب بر روی تک تک کلاینت‌ها و همچنین به روز رسانی مداوم کلاینت‌ها را ندارند. به این صورت مدیریت چند صد کاربر در یک سازمان ساده‌تر از قبل خواهد بود. دیگر نگران این نخواهید بود که آیا فلان کاربر آخرین به روز رسانی‌ها را نصب کرده (دریافت کرده) یا خیر.
- امکان دسترسی از راه دور، برای مثال از طریق اینترنت یا VPN یا RRAS و خطوط دایال آپ (برای مثال دسترسی ساده‌تر دفاتر مختلف یک سازمان به اطلاعات یکدیگر یا امکان داشتن کارکنانی که از راه دور برای شما کار می‌کنند).
- امکان ذخیره سازی داده‌ها در سازمانی دیگر (هاست کردن این برنامه‌ها در محیط‌های ابری(!) (cloud computing) هزینه‌های تهیه و نگهداری سخت افزارهای یک سازمان را نیز کاهش می‌دهند).
- کاهش هزینه‌های سازمان با توجه به اینکه اگر از سرورهای قدرتمندی استفاده شود؛ از یک برنامه‌ی وب چندین هزار یا چند میلیون کاربر می‌توانند استفاده کنند بدون اینکه نگران تامین هزینه مجوز استفاده از برنامه‌ی تهیه شده به ازای هر کاربر باشید.
- امکان دسترسی به برنامه‌ی وب تهیه شده در انواع و اقسام سیستم عامل‌هایی که تنها مجهز به یک مرورگر وب هستند (نتیجه نهایی قابل استفاده مستقل از سکو است). برای مثال این‌ روزها به کمک Adobe AIR ، Silverlight و یا کتابخانه‌های اسکریپتی مانند jQuery و ASP.Net Ajax، بسیاری از توانایی‌های نمایشی برنامه‌های دسکتاپ را در وب نیز می‌توان شاهد بود با این خصوصیت که نتیجه‌ی نهایی مستقل از سکو است.
- در این حالت کلاینت‌ها نیازی به داشتن سخت افزارهای قوی ندارند (که در کاهش هزینه‌های یک سازمان مؤثر است). همچنین این برنامه‌ها مشکلات ناسازگاری با سخت افزارها و نگارش‌های مختلف سیستم عامل‌ها را نیز ندارند. بنابراین یک سازمان می‌تواند بودجه‌ی خود را صرف تهیه‌ی سرورهای بهتری کند.
- کلاینت‌ها با توجه به محدود بودن دسترسی‌های امنیتی اعمالی توسط مرورگرها، امنیت بیشتری خواهند داشت. به همین ترتیب کاربران برای استفاده از این برنامه‌ها نیز نیازی به دسترسی بالا در یک سازمان برای اجرای مرورگر خود نخواهند داشت (کمتر جمله‌ی "من دسترسی ادمین می‌خواهم" را خواهید شنید).
- امکان مونیتور کردن ساده‌تر فعالیت کاربران در برنامه.
- در صورت محافظت از سرور، کدهای شما از خطر دزدیده شدن مصون‌(تر) هستند.
- مدیریت ساده‌تر و مجتمع اطلاعات تولیدی با توجه به اینکه همه چیز باید بر روی سرور ذخیره شود. به این صورت مدیریت نقل مکان کاربران از یک کامپیوتر به کامپیوتری دیگر نیز ساده‌تر می شود؛ زیرا چیزی را قرار نیست جابجا کنند (نه اطلاعات و نه برنامه ‌را). اگر یکی از کامپیوترهای کلاینت‌ها قابل استفاده نباشد، به سادگی می‌تواند از کامپیوتری دیگر در شبکه استفاده کند، بدون اینکه معطل تیم فنی شود تا برنامه‌ای را برای او نصب و راه اندازی کنند. به علاوه تهیه پشتیبان از اطلاعات سرورها نیز همیشه ساده‌تر است از تهیه پشتیبان از 100 ها کامپیوتر موجود در شبکه.
- اگر خروجی برنامه‌ی وب شما تنها از صفحات وب و جاوا اسکریپت تشکیل شده باشد، امکان دسترسی آن در دستگاه‌های موبایل به سادگی میسر است.

نظرات

  • مهمان در ۱۳۸۸/۱۱/۰۱ ۱۴:۴۵:۱۷
    سلام مهندس . جالب بود و در اکثر کشور ها با توجه به افزایش سرعت اینترنت به این سمت گرایش داشتند . در آلمان در ایستگاه قطار یا آژانس هواپیمایی و ... به همین شکل هست و یا حداقل از یک وب سرویس بهره میبرند حتی اگر برنامه ویندوز داشته باشند . در آمریکا هم تا اونجا که میدونم silverlight و wpf به این منظور ( جهت همسان سازی محیط اینترنت و ویندوز ) استفادش رو به رشد هست . راستی آقای نصیری شما رو silverlight مانور نمیدید . یه مدتی هست که از Jquery چیزی نمیگید . منتظر مطالب جدیدتون هستم . موفق باشید .
  • وحید نصیری در ۱۳۸۸/۱۱/۰۱ ۲۳:۵۵:۱۸
    سلام
    ممنون.
    در این موارد کلان، مباحث مقیاس پذیری، load balancing ، mirroring ، clustering ، caching و امثال آن هم حائز اهمیت می‌شود که باز هم برنامه‌های وب و امکانات مهیای برای آن‌ها در این زمینه حرف اول را می‌زنند.
  • مهمان در ۱۳۸۸/۱۱/۰۲ ۱۶:۴۳:۱۶
    سلام استاد

    من برنامه نویس ویندوز هستم.البته نه خیلی حرفه ای ولی دوست دارم یادگیری خودم رو در این زمینه ادامه بدم.

    به نظر شما مانور دادن روی برنامه های ویندوز و برنامه نویسی windows application اشتباهه و باید به سمت برنامه نویسی Web حرکت کنم؟
  • وحید نصیری در ۱۳۸۸/۱۱/۰۲ ۱۷:۲۶:۳۲
    نه. هر کدوم جایگاه خودشون رو دارند.
    بحث من مدیریت ساده‌تر بیش از 200 کاربر و کامپیوتر در یک شبکه بود. ساده‌تر شدن به روز رسانی‌ها، مدیریت و تهیه پشتیبان از اطلاعات، دسترسی ریموت به برنامه‌ها، امکان دسترسی به برنامه از سیستم‌ عامل‌های مختلف و کلیه مواردی که ذکر شد. در اینجاها windows application نویسی مقرون به صرفه نیست.
    و گرنه نوشتن windows service یا برنامه‌های تک کاربره یا حتی چندکاربره در مقایس کم مثلا یک شرکت 5 نفره ... و امثال آن لزومی ندارد که با وب اپلیکیشن باشد.
  • وحید نصیری در ۱۴۰۴/۰۵/۱۷ ۰۸:۴۰
    نگارش به‌روز شده‌ی این مطلب:

    چرا برنامه‌های وب جایگزین برنامه‌های دسکتاپ شده‌اند؟

    برنامه‌های وب به دلیل مزایای متعدد در مقایسه با برنامه‌های دسکتاپ، به‌تدریج در سازمان‌ها به انتخابی غالب تبدیل شده‌اند. در ادامه، دلایلی کلیدی برای این تغییر بررسی می‌شود:

    1. عدم نیاز به نصب و به‌روزرسانی مداوم
    برنامه‌های وب نیازی به نصب یا به‌روزرسانی جداگانه روی هر دستگاه کلاینت ندارند. این امر مدیریت صدها یا هزاران کاربر در یک سازمان را ساده‌تر می‌کند، زیرا تمام به‌روزرسانی‌ها به‌صورت مرکزی روی سرور اعمال می‌شوند. دیگر نیازی به نگرانی در مورد نصب نسخه‌های جدید توسط کاربران نیست.

    2. دسترسی از راه دور
    برنامه‌های وب امکان دسترسی از هر نقطه با اتصال به اینترنت، VPN یا حتی شبکه‌های داخلی را فراهم می‌کنند. این ویژگی برای سازمان‌هایی با دفاتر متعدد یا کارکنانی که به‌صورت دورکار فعالیت می‌کنند، ایده‌آل است. کاربران می‌توانند از هر دستگاهی با مرورگر وب به برنامه دسترسی پیدا کنند.

    3. بهره‌وری ابری و کاهش هزینه‌های سخت‌افزاری
    با استفاده از خدمات ابری (Cloud Computing) مانند AWS، Azure یا Google Cloud، سازمان‌ها می‌توانند برنامه‌های وب را روی سرورهای ابری میزبانی کنند. این رویکرد هزینه‌های خرید و نگهداری سخت‌افزارهای داخلی را کاهش می‌دهد و مقیاس‌پذیری را بهبود می‌بخشد.

    4. مقیاس‌پذیری و کاهش هزینه‌های مجوز
    برنامه‌های وب امکان پشتیبانی از هزاران یا حتی میلیون‌ها کاربر را با استفاده از سرورهای قدرتمند فراهم می‌کنند، بدون نیاز به خرید مجوز جداگانه برای هر کاربر. این امر هزینه‌های سازمانی را به‌طور قابل‌توجهی کاهش می‌دهد.

    5. سازگاری با انواع سیستم‌عامل‌ها و دستگاه‌ها
    برنامه‌های وب از طریق مرورگرهای استاندارد (مانند Chrome، Firefox، Safari) روی هر سیستم‌عاملی (ویندوز، مک، لینوکس، اندروید، iOS) قابل‌اجرا هستند. فناوری‌های مدرن مانند وب‌اپلیکیشن‌های پیش‌رونده (PWA) تجربه‌ای مشابه برنامه‌های بومی ارائه می‌دهند و حتی قابلیت استفاده آفلاین را فراهم می‌کنند.

    6. کاهش نیاز به سخت‌افزارهای قدرتمند کلاینت
    برنامه‌های وب بخش عمده پردازش را به سرورها منتقل می‌کنند، بنابراین کلاینت‌ها نیازی به سخت‌افزارهای گران‌قیمت ندارند. این امر به سازمان‌ها اجازه می‌دهد بودجه خود را به‌جای خرید دستگاه‌های قدرتمند، صرف بهبود زیرساخت‌های سرور کنند.

    7. امنیت بالاتر
    مرورگرهای وب با اعمال محدودیت‌های امنیتی (مانند مدل امنیتی Same-Origin Policy و sandboxing) سطح بالایی از امنیت را برای کاربران فراهم می‌کنند. کاربران برای دسترسی به برنامه‌های وب نیازی به دسترسی‌های سطح ادمین ندارند، که این امر خطر نقض امنیت را کاهش می‌دهد.

    8. نظارت و مدیریت ساده‌تر فعالیت کاربران
    برنامه‌های وب امکان رصد و ثبت فعالیت‌های کاربران را به‌صورت متمرکز فراهم می‌کنند. این قابلیت برای سازمان‌هایی که نیاز به نظارت بر عملکرد یا انطباق با قوانین دارند، بسیار ارزشمند است.

    9. حفاظت از کد و داده‌ها
    با میزبانی کدهای برنامه روی سرور، خطر سرقت یا دسترسی غیرمجاز به کد منبع کاهش می‌یابد. همچنین، استفاده از پروتکل‌های امنیتی مدرن مانند HTTPS و رمزنگاری پیشرفته، امنیت داده‌ها را تضمین می‌کند.

    10. مدیریت متمرکز داده‌ها
    داده‌های تولیدشده توسط برنامه‌های وب به‌صورت متمرکز روی سرور ذخیره می‌شوند، که این امر مدیریت، پشتیبان‌گیری و انتقال داده‌ها را آسان‌تر می‌کند. در صورت خرابی یک دستگاه کلاینت، کاربر می‌تواند به‌راحتی از دستگاه دیگری به برنامه دسترسی پیدا کند، بدون نیاز به نصب یا انتقال داده.

    11. دسترسی از دستگاه‌های موبایل
    برنامه‌های وب مدرن با استفاده از طراحی پاسخ‌گو (Responsive Design) و فریم‌ورک‌هایی مانند React، Vue.js یا Angular، تجربه‌ای یکپارچه روی دستگاه‌های موبایل ارائه می‌دهند. وب‌اپلیکیشن‌های پیش‌رونده حتی امکان نصب روی دستگاه‌های موبایل و استفاده آفلاین را فراهم می‌کنند.

    12. ادغام با فناوری‌های مدرن
    برنامه‌های وب می‌توانند به‌راحتی با APIها، سرویس‌های ابری، و ابزارهای هوش مصنوعی ادغام شوند. این امکان به سازمان‌ها اجازه می‌دهد قابلیت‌های جدیدی مانند تحلیل داده‌های پیشرفته یا اتوماسیون فرایندها را به برنامه‌های خود اضافه کنند.

    13. تجربه کاربری بهبودیافته
    فریم‌ورک‌های مدرن جاوااسکریپت و ابزارهای طراحی رابط کاربری (مانند Tailwind CSS یا Material-UI) به برنامه‌های وب امکان ارائه تجربه کاربری مشابه یا حتی بهتر از برنامه‌های دسکتاپ را می‌دهند، درحالی‌که همچنان مستقل از پلتفرم باقی می‌مانند.

    14. انعطاف‌پذیری در توسعه و نگهداری
    برنامه‌های وب از فناوری‌های استاندارد مانند HTML، CSS و جاوااسکریپت استفاده می‌کنند که توسعه و نگهداری آن‌ها را برای تیم‌های توسعه آسان‌تر می‌کند. همچنین، ابزارهای DevOps و CI/CD امکان به‌روزرسانی سریع و مداوم برنامه‌ها را فراهم می‌کنند.

    نتیجه‌گیری
    برنامه‌های وب به دلیل انعطاف‌پذیری، مقیاس‌پذیری، کاهش هزینه‌ها، و سازگاری با نیازهای مدرن سازمان‌ها، به گزینه‌ای برتر نسبت به برنامه‌های دسکتاپ تبدیل شده‌اند. با پیشرفت فناوری‌های وب و ابری، انتظار می‌رود این روند در آینده نیز ادامه یابد.