معرفی
تحول دیجیتال هر سال بیشتر و بیشتر حوزه های مختلف زندگی و کسب و کار را پوشش می دهد. اگر کسبوکاری میخواهد رقابتی باشد، دیگر سایتهای اطلاعاتی معمولی کافی نیستند، اپلیکیشنهای موبایل و وب مورد نیاز هستند که نه تنها اطلاعاتی را در اختیار کاربران قرار میدهند، بلکه به آنها اجازه میدهند تا وظایف خاصی را انجام دهند: دریافت یا سفارش کالا و خدمات، ارائه ابزار.
به عنوان مثال، دیگر برای بانک های مدرن داشتن یک وب سایت با اطلاعات کافی نیست، آنها باید ابزارهای آنلاین برای مشتریان خود داشته باشند، یک حساب شخصی که در آن کاربر بتواند حساب ها، سرمایه گذاری ها و وام ها را مدیریت کند. حتی کسبوکارهای کوچک نیز به ابزارهای مناسبی برای افزایش نرخ تبدیل نیاز دارند، مانند قرار ملاقات با پزشک یا آرایشگر، یا رزرو میز در رستوران یا اتاق بازی کودکان برای جشن تولد.
و خود مالکان باید اطلاعات به موقع را به شکلی مناسب در مورد وضعیت شرکت خود دریافت کنند، به عنوان مثال، جمع آوری داده های آماری و تجزیه و تحلیل برای بخش های مختلف تولید، یا بهره وری بخش ها. اغلب، هر بخش این داده ها را به روش خود جمع آوری می کند و حتی ممکن است از ابزارهای مختلفی استفاده کند و مالک باید زمان شخصی زیادی را برای درک همه اینها صرف کند، به طور غیر مستقیم یا مستقیم این می تواند بر کارایی و در نهایت سود شرکت تأثیر بگذارد. تحول دیجیتال و توسعه اپلیکیشن وب یا موبایل نیز در اینجا کمک خواهد کرد.
فناوریها ثابت نمیمانند و دائماً در حال تکامل هستند، و آنچه چندین سال پیش مورد استفاده قرار میگرفت، ممکن است امروز دیگر مرتبط نباشد، یا آنچه چندین سال پیش نمیتوانست انجام شود، قبلاً به واقعیت تبدیل شده است. ابزارهای مدرن تری وجود دارند که به شما کمک می کنند تا برنامه های وب و موبایل را سریعتر و بهتر ایجاد کنید. بر اساس مشاهدات و تجربیات شخصی، میخواهم دیدگاه خود را در مورد اینکه کدام فناوریها و ابزارها در آینده نزدیک مورد تقاضا خواهند بود و چرا باید هنگام ایجاد یک برنامه وب مدرن به آنها توجه کنید، به اشتراک بگذارم.
اپلیکیشن تک صفحه ای
بیایید اصطلاحات را کمی تعریف کنیم. برنامه تک صفحه ای (SPA) یک برنامه وب است که اجزای آن یک بار در یک صفحه بارگذاری می شوند و محتوا در صورت نیاز بارگذاری می شود. و هنگام حرکت بین بخش های برنامه، صفحه به طور کامل بارگیری نمی شود، بلکه فقط داده های لازم را بارگیری و نمایش می دهد.
برنامه های تک صفحه ای از نظر سرعت و سهولت استفاده از برنامه های وب کلاسیک بسیار سود می برند. با کمک SPA میتوانید به اثر یک وبسایت که مانند یک برنامه کاربردی روی دسکتاپ کار میکند، بدون راهاندازی مجدد و تأخیر قابل توجه دست پیدا کنید.
اگر چند سال پیش اپلیکیشنهای تک صفحهای عملاً از بهینهسازی موتور جستجو پشتیبانی نمیکردند و عمدتاً برای ایجاد حسابهای شخصی و پنلهای مدیریتی استفاده میشدند، امروزه ایجاد یک اپلیکیشن تک صفحهای با پشتیبانی کامل از بهینهسازی موتور جستجو (SEO) بسیار آسانتر شده است. امروزه با استفاده از برنامه های تک صفحه ای ارائه شده توسط سرور، این مشکل به طور کامل ناپدید شده است. به عبارت دیگر، این همان برنامه تک صفحه ای است، اما در اولین درخواست، سرور نه تنها داده تولید می کند، بلکه یک صفحه HTML آماده برای نمایش ایجاد می کند و موتورهای جستجو صفحات آماده را با تمام اطلاعات متا و نشانه گذاری معنایی دریافت می کنند. .
با توسعه ابزارهایی برای ایجاد برنامه های کاربردی وب سمت مشتری، توسعه و انتقال به برنامه های کاربردی تک صفحه ای تنها در این سال و سال های بعدی رشد خواهد کرد. اگر یک برنامه قدیمی دارید که قدیمی است و به کندی کار می کند، و حتی با بارگیری مجدد کامل صفحه هنگام جابجایی بین بخش ها، امسال می توانید با خیال راحت به یک برنامه سریع یک صفحه ای ارتقا دهید - اکنون زمان خوبی است، فناوری از قبل به شما اجازه می دهد. برای انجام این کار بسیار سریع و کارآمد.
داشتن یک وب سایت مدرن و سریع بسیار خوب است، اما بگذارید صادقانه به شما بگویم: همه برنامه ها را نمی توان به راحتی به برنامه های تک صفحه ای تبدیل کرد و انتقال می تواند گران باشد! بنابراین، باید بدانید چه کسی و چرا به چنین انتقالی نیاز دارد.
برای کمک به درک شما، در جدول زیر چند مثال از زمانی که توسعه یا تغییر به یک SPA مناسب و موجه است و چه زمانی مناسب نیست، ارائه خواهم کرد.
برای
اگر می خواهید یک اپلیکیشن مدرن و سریع بسازید و می خواهید نه تنها از نسخه تحت وب، بلکه از نسخه موبایل یا حتی دسکتاپ نیز استفاده کنید و تمامی فرآیندها و محاسبات روی سرور از راه دور یا ابری انجام می شود. علاوه بر این، به طوری که همه کلاینت ها یک رابط تعاملی داشته باشند و در هنگام افزودن یک کلاینت جدید، نیازی به انجام هر ویرایش کد سرور نباشد.
به عنوان مثال: شبکه های اجتماعی، جمع آوری کننده ها، پلتفرم های SaaS (نرم افزار به عنوان سرویس ابری)، بازارها
اگر فروشگاه یا وب سرویس دارید، میدانید که سرعت آن کند است و مردم میروند، میخواهید آن را سریعتر کنید، ارزش مشتریان را درک میکنید و آماده هستید که برای ارتقاء بیش از یک میلیون روبل بپردازید.
شما یک برنامه تلفن همراه دارید که از API سایت استفاده می کند، اما سایت کند است و در هنگام جابجایی بین صفحات، محتوای کامل بارگیری می شود.
در برابر
اگر مخاطب هدف شما از مرورگرها و دستگاه های مدرن استفاده نمی کند.
به عنوان مثال: حوزه های شرکتی خاص، مانند توسعه سیستم های داخلی برای بانک ها، موسسات پزشکی و آموزش.
شما فعالیت های اصلی خود را به صورت آفلاین انجام می دهید و آماده ارائه هیچ خدماتی به صورت آنلاین نیستید و فقط باید مشتری جذب کنید.
اگر یک فروشگاه آنلاین یا وب سرویس دارید که قبلاً فروش خوبی داشته است، خروج مشتری یا شکایتی را مشاهده نمی کنید
اگر یک برنامه کاربردی دارید که نمیتوانید آن را برای SPA تطبیق دهید و فقط باید همه چیز را از ابتدا بازنویسی کنید و از فناوریهای دیگر استفاده کنید و آماده نیستید چندین میلیون برای این کار هزینه کنید.
به عنوان مثال: یک سایت جعبهدار یا نوعی کد باستانی و یکپارچه نوشته شده در خانه وجود دارد.
برنامه های کاربردی وب پیشرفته
برنامه های کاربردی وب پیشرو محصول تکامل مشترک یک برنامه بومی و یک وب سایت هستند. در اصل، این یک برنامه وب است که شبیه یک برنامه بومی واقعی به نظر می رسد و رفتار می کند، می تواند اعلان های فشار را دریافت کند، در حالت آفلاین کار کند و غیره. در این حالت کاربر نیازی به دانلود اپلیکیشن از اپ استور یا گوگل پلی ندارد، بلکه به سادگی آن را در دسکتاپ ذخیره می کند.
به عنوان یک فناوری یا رویکرد توسعه، PWA از سال 2015 در حال توسعه است و اخیراً محبوبیت زیادی در زمینه تجارت الکترونیک به دست آورده است.
چند نمونه از زندگی واقعی:
- سال گذشته، هتل Best Western River North پس از راهاندازی یک وبسایت جدید با قابلیت PWA توانست درآمد خود را تا 300 درصد افزایش دهد.
- عربی Avito OpenSooq.com پس از ایجاد پشتیبانی PWA در وب سایت خود، توانست زمان بازدید از سایت را 25% و تعداد لیدها را 260% افزایش دهد.
- سرویس دوستیابی معروف Tinder با توسعه یک PWA توانست سرعت بارگذاری را از 11.91 به 4.69 ثانیه کاهش دهد؛ علاوه بر این، وزن اپلیکیشن 90 درصد کمتر از همتای اندرویدی خود است.
این واقعیت که ارزش توجه به این فناوری را دارد این واقعیت است که یکی از بزرگترین موتورهای ایجاد پروژه های تجارت الکترونیک، مجنتو، نسخه توسعه اولیه PWA Studio را در سال 2018 راه اندازی کرد. این پلتفرم به شما امکان میدهد با پشتیبانی از PWA، یک فرانتاند مبتنی بر React برای راهحلهای تجارت الکترونیک خود ایجاد کنید.
توصیه برای کسانی که قبلا یک پروژه اینترنتی یا فقط یک ایده برای یک سرویس جدید با پشتیبانی از دستگاه های تلفن همراه دارند: برای نوشتن یک برنامه بومی کامل عجله نکنید، اما ابتدا به فناوری PWA نگاه کنید. این ممکن است بهترین راه حل با ارزش برای محصول شما باشد.
کمی از تمرین. برای ایجاد یک برنامه خبری بومی موبایل ساده، به شرطی که از قبل یک سرور REST آماده داشته باشید، تقریباً به 200-300 ساعت کار در هر پلتفرم نیاز دارید. با متوسط قیمت بازار برای یک ساعت توسعه 1500-2000 روبل در ساعت، یک برنامه می تواند حدود 1 میلیون روبل هزینه داشته باشد. اگر یک برنامه وب با پشتیبانی کامل از PWA توسعه دهید: اعلانهای فشار، حالت آفلاین و سایر موارد، توسعه 200 تا 300 ساعت کار طول میکشد، اما محصول بلافاصله در همه پلتفرمها در دسترس خواهد بود. یعنی تقریباً 2 برابر صرفه جویی می شود، بدون ذکر این واقعیت که مجبور نیستید هزینه ای برای قرار دادن در فروشگاه های برنامه بپردازید.
بدون سرور
این یکی دیگر از رویکردهای مدرن برای توسعه است. به دلیل نام، بسیاری از مردم فکر می کنند که این واقعاً توسعه بدون سرور است، نیازی به نوشتن کدهای پشتیبان نیست و هر توسعه دهنده فرانت اند می تواند یک برنامه وب کامل ایجاد کند. اما این درست نیست!
هنگام ایجاد یک برنامه بدون سرور، همچنان به یک سرور و یک پایگاه داده نیاز دارید. تفاوت اصلی این رویکرد در این است که کد پشتیبان در قالب توابع ابری ارائه میشود (نام دیگر بدون سرور FaaS، توابع بهعنوان سرویس یا Functions-as-a-Service است) و به برنامه اجازه میدهد تا به سرعت مقیاسپذیری و مقیاسپذیری داشته باشد. به آسانی. هنگام ایجاد چنین برنامهای، توسعهدهنده میتواند روی مشکلات تجاری تمرکز کند و به بزرگسازی و راهاندازی زیرساخت فکر نکند، که متعاقبا سرعت توسعه برنامه را افزایش داده و هزینه آن را کاهش میدهد. علاوه بر این، رویکرد بدون سرور به شما کمک می کند در اجاره سرور صرفه جویی کنید، زیرا دقیقاً از منابع مورد نیاز برای تکمیل کار استفاده می کند و اگر بارگیری نباشد، از زمان سرور به هیچ وجه استفاده نمی شود و هزینه ای پرداخت نمی شود.
به عنوان مثال، شرکت بزرگ رسانه آمریکایی Bustle توانست هزینه هاستینگ را تا بیش از 60 درصد در هنگام تغییر به سرور بدون سرور کاهش دهد. و شرکت کوکاکولا، هنگام توسعه یک سیستم خودکار برای فروش نوشیدنی از طریق ماشینهای فروش خودکار، توانست با تغییر به سرور بدون سرور، هزینههای میزبانی را از 13000 دلار به 4500 دلار در سال کاهش دهد.
در طی یکی دو سال گذشته، به دلیل جدید بودن و محدودیتهای آن، سرور بدون سرور عمدتاً برای پروژههای کوچک، استارتآپها و MVP ها مورد استفاده قرار گرفته است، اما امروزه به لطف تکامل نرمافزارها، تطبیق پذیری و قدرت کانتینریسازی سرور، ابزارهایی در حال ظهور هستند که به شما امکان حذف محدودیت ها، ساده سازی و سرعت بخشیدن به توسعه برنامه های کاربردی ابری را می دهد.
این بدان معناست که سناریوهای کسب و کار سازمانی که در آن مدرن سازی ابری قبلا غیرممکن تلقی می شد (به عنوان مثال، برای دستگاه های لبه، داده های در حال انتقال، یا برنامه های کاربردی) اکنون به واقعیت تبدیل شده اند. ابزارهای خوبی که بسیار امیدوار کننده هستند kNative و Serverless enterprise هستند.
اما با وجود همه اینها، Serverless یک گلوله نقره ای برای توسعه برنامه های وب نیست. مانند هر فناوری دیگری، مزایا و معایب خود را دارد، و شما باید این ابزار را با درک درست انتخاب کنید و فقط به این دلیل که از نظر فناوری پیشرفته تر است، "نه چکش میخ با میکروسکوپ" را انتخاب کنید.
برای کمک به شما در درک این موضوع، در اینجا چند نمونه از مواردی که ممکن است بخواهید هنگام توسعه یک وب سرویس جدید یا بهبود یک وب جدید، بدون سرور را در نظر بگیرید، آورده شده است:
- زمانی که بار روی سرور به صورت دوره ای است و شما برای ظرفیت بیکار هزینه می کنید. به عنوان مثال، ما یک مشتری با شبکه ای از دستگاه های قهوه ساز داشتیم و فقط چند صد یا هزار بار در روز نیاز به پردازش درخواست ها و جمع آوری آمار بود و شب ها تعداد درخواست ها به چند ده کاهش می یافت. در این مورد، پرداخت هزینه فقط برای استفاده واقعی از منابع بسیار کارآمدتر است، بنابراین ما راه حلی را در سرور بدون سرور پیشنهاد و اجرا کردیم.
- اگر قصد ندارید در جزئیات فنی زیرساخت غوطه ور شوید و برای راه اندازی و نگهداری سرورها و متعادل کننده هزینه اضافی بپردازید. به عنوان مثال، هنگام توسعه یک بازار، شما دقیقا نمی دانید ترافیک چقدر خواهد بود، یا برعکس - شما در حال برنامه ریزی ترافیک زیادی هستید و به طوری که برنامه شما مطمئناً بار را تحمل می کند، پس سرور بدون سرور یک انتخاب عالی است.
- اگر نیاز به انجام برخی رویدادهای پخش جریانی در برنامه اصلی دارید، داده های جانبی را در جداول بنویسید، برخی از محاسبات را انجام دهید. به عنوان مثال، داده های تحلیلی اقدامات کاربر را جمع آوری کنید، آنها را به روشی خاص پردازش کنید و آنها را در یک پایگاه داده ذخیره کنید.
- اگر نیاز به ساده سازی، یکپارچه سازی یا سرعت بخشیدن به عملکرد فعلی برنامه دارید. به عنوان مثال، هنگامی که کاربر ویدیو را در فضای ابری آپلود میکند، خدمات بهبود عملکرد را برای کار با تصاویر یا ویدیوها ایجاد کنید، و یک عملکرد جداگانه رمزگذاری را انجام میدهد، در حالی که سرور اصلی به طور معمول به کار خود ادامه میدهد.
اگر نیاز به پردازش رویدادها از خدمات شخص ثالث دارید. برای مثال، پردازش پاسخها از سیستمهای پرداخت، یا هدایت دادههای کاربر به CRM برای سرعت بخشیدن به پردازش درخواستهای مشتریان بالقوه.
اگر اپلیکیشن بزرگی دارید و برخی از قسمتهای اپلیکیشن را میتوان با استفاده از زبانی متفاوت از زبان اصلی بهینهتر پیادهسازی کرد. به عنوان مثال، شما یک پروژه در جاوا دارید و باید عملکرد جدیدی اضافه کنید، اما دست آزاد ندارید، یا پیاده سازی در یک زبان خاص ممکن است بیشتر طول بکشد و در حال حاضر یک راه حل به زبان دیگری وجود دارد، سپس Serverless می تواند کمک کند. با این هم
این تمام فهرست ابزارها و فناوریهایی نیست که شایسته توجه هستند؛ من فقط آنچه را که خودمان هر روز در کارمان استفاده میکنیم و دقیقاً میدانیم چگونه میتوانند به تجارت کمک کنند را به اشتراک گذاشتم.
منبع: www.habr.com