اتجاهات تطوير تقنيات الويب 2019

مقدمة


يغطي التحول الرقمي كل عام مجالات حياة وأعمال مختلفة أكثر فأكثر. إذا كانت الشركة تريد أن تكون قادرة على المنافسة ، فلم تعد مواقع المعلومات العادية كافية ، وتحتاج إلى تطبيقات الهاتف المحمول والويب التي لا توفر المعلومات للمستخدمين فحسب ، بل تتيح لك أيضًا القيام ببعض الوظائف: لتلقي أو طلب سلع وخدمات ، لتوفير الأدوات.



لذلك ، على سبيل المثال ، لا يكفي أن يكون لدى البنوك الحديثة موقع ويب به معلومات ، بل يجب أن يكون لديك أدوات عبر الإنترنت لعملائك ، وحساب شخصي حيث يمكن للمستخدم إدارة الحسابات والاستثمارات والقروض. حتى الشركات الصغيرة تحتاج إلى أدوات ملائمة ، مثل تحديد موعد مع طبيب أو مصفف شعر ، حجز طاولة في مطعم أو غرفة ألعاب للأطفال في عيد ميلاد ، لزيادة التحويل.

ويحتاج المالكون أنفسهم إلى تلقي المعلومات في الوقت المناسب في شكل مناسب وفقًا لحالة شركتهم ، على سبيل المثال ، جمع البيانات الإحصائية والتحليلات لمختلف إدارات الإنتاج ، أو إنتاجية الأقسام. في كثير من الأحيان ، يقوم كل قسم من الإدارات بجمع هذه البيانات بطريقته الخاصة ، ويمكنه حتى استخدام أدوات مختلفة ، ويحتاج المالك إلى قضاء الكثير من الوقت الشخصي لمعرفة ذلك بالكامل ، بشكل غير مباشر أو مباشر ، ويمكن أن يؤثر على كفاءة الشركة وفي النهاية على ربحها. سوف يساعد التحول الرقمي وتطوير تطبيقات الويب أو الهاتف المحمول هنا أيضًا.

التقنيات لا تقف صامدة وتتطور باستمرار ، وما قد استخدموه قبل عدة سنوات قد لا يكونون مهمين اليوم ، أو ما لم يتمكنوا من فعله قبل بضع سنوات أصبح حقيقة واقعة. هناك أدوات أكثر حداثة تساعد في إنشاء تطبيقات الويب والهاتف المحمول بشكل أسرع وأفضل. بناءً على الملاحظات والخبرات الشخصية ، أود أن أشارك رؤيتي حول أي من التقنيات والأدوات ستكون مطلوبة في المستقبل القريب ولماذا يجب عليك الانتباه إليها عند إنشاء تطبيق ويب حديث.

تطبيق صفحة واحدة


دعونا نحدد بعض المصطلحات. تطبيق صفحة واحدة (SPA) هو تطبيق ويب يتم تحميل مكوناته مرة واحدة على صفحة واحدة ، ويتم تحميل المحتوى حسب الحاجة. وعند التبديل بين أقسام التطبيق ، لا يتم إعادة تحميل الصفحة بالكامل ، ولكن يتم تحميل البيانات فقط ويتم عرض البيانات اللازمة.

تتفوق التطبيقات أحادية الصفحة على تطبيقات الويب الكلاسيكية من حيث السرعة وسهولة الاستخدام. مع SPA ، يمكنك تحقيق تأثير موقع الويب كتطبيق سطح مكتب دون إعادة تمهيد وتأخير كبير.

إذا كانت التطبيقات ذات الصفحة الواحدة قبل عدة سنوات لا تدعم عمليًا تحسين محرك البحث وتستخدم أساسًا لإنشاء لوحات معلومات شخصية ولوحة إدارة ، أصبح من الأسهل كثيرًا إنشاء تطبيق صفحة واحدة مع دعم كامل لتحسين محرك البحث (SEO). باستخدام تطبيقات صفحة واحدة مع تقديم الخادم ، اليوم اختفت هذه المشكلة تمامًا. بمعنى آخر ، هذا هو نفس التطبيق الذي يحتوي على صفحة واحدة ، ولكن عند الطلب الأول ، لا يقوم الخادم بإنشاء البيانات فحسب ، ولكنه ينشئ صفحة جاهزة لعرض HTML ومحركات البحث تستعد للصفحات التي تحتوي على جميع المعلومات التعريفية والعلامات الدلالية.

مع تطوير الأدوات لإنشاء تطبيقات الويب من جانب العميل ، لن ينمو التطوير والانتقال إلى التطبيقات ذات الصفحة الواحدة في هذه السنوات والسنوات اللاحقة. إذا كان لديك تطبيق قديم قديم وبطيء التشغيل ، وحتى مع إعادة تحميل الصفحة بالكامل عند التبديل بين الأقسام ، يمكنك هذا العام التحديث بأمان إلى تطبيق سريع من صفحة واحدة - لقد حان الوقت الآن ، والتقنيات تسمح لك بالفعل بذلك بسرعة وكفاءة.

إن امتلاك موقع إلكتروني حديث وسريع أمر جيد للغاية ، لكنني أود أن أخبرك بأمانة: لا يمكن تحويل جميع التطبيقات بسهولة إلى تطبيقات أحادية الصفحة ، وقد يكون الانتقال مكلفًا! لذلك ، تحتاج إلى فهم من يحتاج إلى هذا الانتقال ولماذا.

لمساعدتك على الفهم ، في الجدول أدناه ، سأقدم بعض الأمثلة عندما يكون التطوير أو الانتقال إلى SPA مناسبًا ومبررًا ، وعندما لا يكون كذلك.
FOR
إذا كنت تريد إنشاء تطبيق حديث وسريع وترغب في استخدام ليس فقط إصدار الويب ، ولكن أيضًا المحمول أو حتى سطح المكتب ، وتجري جميع العمليات الحسابية على خادم بعيد أو سحابة. نعم ، وهكذا كان لدى جميع العملاء واجهة تفاعل واحدة ولم تكن هناك حاجة لإجراء كل تغيير على كود الخادم عند إضافة عميل جديد.

على سبيل المثال: شبكة اجتماعية ، مجمعات ، منصات SaaS (برنامج كخدمة سحابية) ، الأسواق
إذا كان لديك متجر أو خدمة ويب ، فأنت تعلم أنها بطيئة وأن الناس يغادرون ، وتريد أن تجعلها أسرع ، وتفهم قيمة العملاء ، وتكون على استعداد لدفع مليون روبل للترقية.
لديك تطبيق جوال يستخدم واجهة برمجة تطبيقات الموقع ، في حين أن الموقع بطيء ومع عمليات إعادة تحميل كاملة للمحتوى عند التبديل بين الصفحات
AGAINST
إذا كان جمهورك المستهدف لا يستخدم المتصفحات والأجهزة الحديثة.

على سبيل المثال: مجالات الشركات المحددة ، مثل تطوير النظم الداخلية للبنوك والمؤسسات الطبية والتعليم.
النشاط الرئيسي الذي تقوم به في وضع عدم الاتصال وغير مستعد لتقديم أي خدمات عبر الإنترنت ، وستحتاج فقط إلى جذب العملاء.
إذا كان لديك متجر على الإنترنت أو خدمة ويب تبيع جيدًا ، فلن ترى تدفقًا خارجيًا للعملاء والشكاوى
إذا كان لديك تطبيق يعمل لا يمكن تكييفه مع SPA وتحتاج فقط إلى إعادة كتابة كل شيء من البداية واستخدام التقنيات الأخرى ، ولن تكون مستعدًا لإنفاق عدة ملايين على ذلك.

على سبيل المثال: يوجد موقع محاصر أو نوع من الرموز القديمة المتجانسة القديمة.

تطبيقات الويب التدريجي


تطبيقات الويب التقدمية هي نتاج للتطور المشترك للتطبيق الأصلي وموقع الويب. في الواقع ، هذا هو تطبيق ويب يبدو وكأنه تطبيق أصلي حقيقي ، ويمكنه تلقي إشعارات الدفع ، والعمل دون اتصال بالإنترنت ، إلخ. في هذه الحالة ، لا يحتاج المستخدم إلى تنزيل التطبيق من AppStore أو Google Play ، ولكن مجرد الحفظ على سطح المكتب.

كنهج تكنولوجي أو تطويري ، تطور PWA منذ عام 2015 ، ومؤخرًا ، اكتسبت أيضًا شعبية هائلة في مجال التجارة الإلكترونية.

بعض الأمثلة على الحياة الحقيقية:

  • في العام الماضي ، استطاع فندق Best Western River North ، بعد إطلاق موقع إلكتروني جديد مدعوم من PWA ، زيادة الإيرادات بنسبة 300٪ ؛
  • تمكنت العربية Avito OpenSooq.com بعد إنشاء دعم لـ PWA على موقعها الإلكتروني من زيادة بنسبة 25 ٪ في الوقت الذي تستغرقه لزيارة الموقع وبنسبة 260 ٪ من العملاء المتوقعين ؛
  • تمكنت خدمة المواعدة المعروفة Tinder من تقليل سرعة التنزيل من 11.91 إلى 4.69 ثانية عن طريق تطوير PWA ، علاوة على ذلك ، يزن التطبيق بنسبة 90٪ أقل من نظيره الأصلي لنظام Android.

حقيقة أن واحدة من أكبر محركات إنشاء مشاريع التجارة الإلكترونية Magento في عام 2018 أطلقت نسخة تطوير مبكر من PWA Studio تشير أيضًا إلى أنها تستحق الاهتمام بهذه التقنية. تسمح المنصة لـ "خارج الصندوق" بإنشاء واجهة أمامية تستند إلى React لحلول التجارة الإلكترونية مع دعم PWA.

نصيحة لأولئك الذين لديهم بالفعل مشروع إنترنت أو مجرد فكرة عن خدمة جديدة مع دعم للأجهزة المحمولة: لا تتسرع في كتابة تطبيق أصلي كامل ، ولكن انظر أولاً إلى تقنية PWA. ربما سيكون هذا هو أفضل حل نسبة السعر / الجودة لمنتجك.

قليلا من الممارسة. لإنشاء تطبيق أخبار محمول أصلي بسيط ، شريطة أن يكون هناك بالفعل خادم REST جاهز ، هناك حاجة إلى حوالي 200-300 ساعة عمل لكل منصة. مع متوسط ​​سعر السوق للساعة الواحدة من تطوير 1500-2000 روبل في الساعة ، يمكن أن يكلف التطبيق حوالي 1 مليون روبل. إذا قمت بتطوير تطبيق ويب مع دعم كامل لـ PWA: إعلامات الدفع والوضع غير المتصل بالإنترنت وغيرها من الأشياء الجيدة ، فستستغرق عملية التطوير 200-300 ساعة عمل ، لكن المنتج سيكون متاحًا على الفور في جميع المنصات. وهذا يعني ، توفير حوالي 2 مرات ، ناهيك عن حقيقة أنه لا يتعين عليك دفع مستحقات ليتم وضعها في متاجر التطبيقات.

Serverless


هذا هو نهج حديث آخر للتنمية. نظرًا للاسم ، يعتقد الكثير من الناس أن هذا يعد تطورًا بدون خادم ، فلست بحاجة إلى كتابة كود الخلفية ، وسيتمكن أي مطور للجهة الأمامية من إنشاء تطبيق ويب متكامل. لكن هذا ليس كذلك!

عند إنشاء تطبيق Serverless ، لا تزال هناك حاجة إلى الخادم ، وكذلك قواعد البيانات. الفرق الرئيسي بين هذا النهج هو أن الكود الخلفي يتم تقديمه في شكل وظائف سحابية (اسم آخر للخوادم هو FaaS ، يعمل كخدمة أو وظائف كخدمة) ويسمح للتطبيق بالتدريج بسرعة وسهولة. عند إنشاء مثل هذا التطبيق ، قد يركز المطور على مهام العمل ولا يفكر في توسيع نطاق البنية الأساسية وتكوينها ، مما يسرع لاحقًا في تطوير التطبيق ويقلل من تكلفته. علاوة على ذلك ، سيساعد نهج Serverless على توفير تأجير الخادم ، لأنه يستخدم بالضبط أكبر عدد ممكن من الموارد لإكمال المهمة ، وإذا لم يكن هناك حمل ، فلن يتم استخدام وقت الخادم على الإطلاق ولا يتم دفعه.

على سبيل المثال ، تمكنت شركة Bustle الإعلامية الأمريكية الكبيرة من خفض تكاليف الاستضافة بأكثر من 60٪ عند التبديل إلى Serverless. بينما استطاعت Coca-cola ، أثناء تطوير نظام آلي لبيع المشروبات من خلال آلات البيع ، تخفيض تكاليف الاستضافة من 13000 دولار إلى 4500 دولار سنويًا من خلال التحول إلى Serverless.

على مدار العامين الماضيين ، نظرًا لحداثة التطبيق وقيوده ، تم استخدام Serverless بشكل أساسي في المشروعات الصغيرة والشركات الناشئة وأجهزة MVP ، ولكن اليوم ، وبفضل تطور البرامج وتعدد الاستخدامات وقوة حاويات الخادم ، تظهر أدوات تتيح لك إزالة القيود وتبسيط وتسريع تطوير التطبيقات السحابية .
هذا يعني أن سيناريوهات أعمال الشركات التي كانت تعتبر فيها ترقية السحابة في السابق أمرًا مستحيلًا (على سبيل المثال ، بالنسبة للأجهزة الطرفية أو البيانات المرسلة أو التطبيقات ذات الحالة) أصبحت الآن حقيقة واقعة. أدوات واعدة جيدة هي مؤسسة kNative و Serverless.

ولكن مع كل هذا ، لا يعد Serverless رمزًا مميزًا لتطوير تطبيقات الويب. مثل أي تقنية أخرى ، لها مزاياها وعيوبها ، وتحتاج إلى اختيار هذه الأداة بفهم ، و "لا تدق في الأظافر باستخدام المجهر" ، فقط لأنها أكثر تطوراً من الناحية التكنولوجية.

لمساعدتك في اكتشاف ذلك ، إليك بعض الأمثلة التي يجب أن تفكر فيها في Serverless عند تطوير خدمة ويب جديدة أو تحسين:

  • عندما يكون الحمل على الخادم دوريًا وتدفع مقابل السعة المعطلة. على سبيل المثال ، كان لدينا عميل لديه شبكة من آلات القهوة وكان من الضروري معالجة الطلبات وجمع الإحصاءات فقط بضع مئات أو آلاف المرات في اليوم ، وفي الليل انخفض عدد الطلبات إلى عدة عشرات. في هذه الحالة ، يكون الدفع مقابل الاستخدام الفعلي للموارد أكثر فعالية ، لذلك اقترحنا ونطبق الحل على Serverless ؛
  • إذا كنت لا تخطط للغطس في التفاصيل الفنية للبنية التحتية ودفع مبالغ زائدة لتكوين ودعم الخوادم والموازن. على سبيل المثال ، عند تطوير سوق ما ، لا تعرف بالضبط ما ستكون عليه حركة المرور ، أو العكس - أنت تخطط لحركة مرور كبيرة وبالتالي يمكن للتطبيق الخاص بك أن يتحمل العبء ، يعتبر Serverless اختيارًا ممتازًا.
  • إذا كان من الضروري إجراء بعض أحداث الدفق في تشغيل التطبيق الرئيسي ، فاكتب بيانات جانبية إلى الجداول ، وأجري بعض العمليات الحسابية. على سبيل المثال ، لجمع البيانات التحليلية لإجراءات المستخدم ، قم بمعالجتها بطريقة معينة وحفظها في قاعدة بيانات ؛
  • إذا كنت بحاجة إلى تبسيط التطبيق الحالي أو توحيده أو تسريعه. على سبيل المثال ، لإنشاء خدمات تحسين الأداء للعمل مع الصور أو مقاطع الفيديو عندما يقوم المستخدم بتحميل الفيديو إلى مجموعة النظراء ، وتشارك وظيفة منفصلة في تحويل الشفرة ، بينما يستمر الخادم الرئيسي في العمل كالمعتاد.

إذا كنت بحاجة إلى معالجة الأحداث من خدمات الجهات الخارجية. على سبيل المثال ، قم بمعالجة الاستجابات من أنظمة الدفع أو إعادة توجيه بيانات المستخدم إلى CRM لتسريع معالجة طلبات العملاء المحتملين
إذا كان لديك تطبيق كبير ويمكن تنفيذ بعض أجزاء التطبيق على النحو الأمثل ، باستخدام لغة مختلفة عن اللغة الرئيسية. على سبيل المثال ، لديك مشروع Java وتحتاج إلى إضافة وظائف جديدة ، ولكن لا توجد أيدي حرة ، أو قد يستغرق التنفيذ في هذه اللغة وقتًا أطول وهناك بالفعل حل بلغة أخرى ، ثم Serverless يمكنه المساعدة في ذلك.

ليست هذه هي القائمة الكاملة للأدوات والتقنيات التي تستحق الاهتمام ، لقد شاركت فقط ما نستخدمه نحن كل يوم في عملنا ونعرف بالضبط كيف يمكنهم مساعدة الأعمال.

Source: https://habr.com/ru/post/ar451572/


All Articles