عصر تطبيقات الويب : بناء تطبيقات ويب مماثلة للتطبيقات الهواتف و الحواسيب علي الويب

ياسين حسين
١٠ يوليو ٢٠٢١

هذا أول صفحة ويب على الإنترنت قام بإنشائها تيم لي بزنزلي عام ١٩٩١. دور المستخدم كان يقتصر على القراءة و التنقل بين الروابط فقط ، ظهرت بعدها متصفحات الويب في عقد التسعينات كانت أشهرها إنترنت إكسبلورر و Netscape Navigator.. في خضم التنافس بينهم للسيطرة على سوق متصفحات الويب تطورت تقنيات بناء تطبيقات الويب بشكل كبير .. أضافت مايكروسوفت CSS و XMLHttpRequest (اجاكس) .. صممت Netscape لغة البرمجة جافاسكربت و اول محرك جافا سكريبت . كل هذا مكنت المبرمجين على الويب من تصميم واجهات و اضافات ميزات لم تكن ممكنة من قبل على الويب .. حدث في السنوات التي تلت ذلك ثورة كبيرة في تقنيات الويب و ظهرت محركات جافاسكربت جديد مثل V8 و javascriptCore بفضلها جافاسكربت لم تعد سجينة متصفحات الويب.. أصبح بإمكان المبرمجين كتابة اكواد جافا سكريبت على السيرفر باستخدام Node js او برمجة تطبيقات موبايل باستخدام React Native و برمجة تطبيقات الحواسيب باستخدام Electron js .. لكن هذا ليس موضوعنا لليوم سوف اكتب عنها بتفصيل أكثر في مقالات قادمة بإذن الله، لنعد إلى الويب .

المقصود بالتطبيقات الاصلية (Naitve apps) التطبيقات التي برمجتها لنظام تشغيل محدد مثل تطبيقات android او ios او تطبيقات windows, mac او لينكس

في الوقت الحالي مع تطبيقات الويب التقدمية (PWA) أصبح بإمكان المبرمجين على الويب بناء تطبيقات ويب مماثلة للتطبيقات الهواتف الذكية و الحواسيب من حيث الإستفادة من الميزات التي توفرها تلك الاجهزة و مع webassembly جافاسكربت لم تعد لغة البرمجة الوحيد التي يمكن تشغيلها علي المتصفح .. مما يعني أنه يمكنك الآن كتابة اكود تعمل على المتصفح بلغات البرمجة مثل c , c++ او Rust. مما يعني بناء تطبيقات ويب ذات أداء و سرعة عالية مماثلة للتطبيقات الأصلية.

ما هي تطبيقات الويب التقدمية (progressive web apps)

تطبيقات الويب المتقدمة (PWA) هي تطبيقات ويب تم برمجتها باستخدام مجموعة من Web APIs الجديدة للاستفادة من ميزات مواقع الويب والتطبيقات الأصلية في آن واحد .. مثلا تطبيقات الويب سهله استكشافها و إيجاد محتواها عبر محركات البحث بسهولة كذلك يسهل زيارتها من أي جهاز فيها متصفح ويب بغض النظر عن نظام التشغيل و يسهل مشاركتها فهي مجرد روابط في النهاية و من السهل على المستخدم زيارة موقع ويب من تثبيت تطبيق .

علي الناحية الأخري التطبيقات الأصلية تقدم تجربة استخدام سلسة للغاية، يمكن تثبيتها في الهاتف الذكية او الحواسيب للوصول اليها بضغطة زر ، يمكنها أن تعمل بغض النظر عن وجود اتصال الانترنت او عدمها ، أيضا يمكنها الوصول الميزات التي توفرها تلك الأجهزة مثل نظام الملفات و Bluetooth ,Push notifications, Contacts, USB ,Filesystem, Server worer ..الخ .

twitter

هذا تطبيق تويتر للويب يمكنك تثبيته في الشاشة الرئيسيةو تلقي الإشعارات push notification و الوصول للتطبيق بدون اتصال إنترنت كل هذا و حجم التطبيق عند تثبيته في الشاشة الرئيسية لا بتعدي 3mb.

بعد أن قامت تويتر بتحول موقعها على الويب إلى تطبيق ويب تقدمي شهدت زيادة كبيرة بنسبة ٧٠% في عدد الصفحات التي يتصفحها المستخدم في الجلسة الواحد و زيادة ٧٥% في عدد التغريدات المرسلة و انخفاض ٢٠% في معدل الارتداد “أي أن المستخدمين أصبحوا يقضون وقت أكبر على الموقع ”

بعد اضافة امكاية تثبيت التطبيق إلى الشاشة الرئيسية شهدت تويتر ٢٥٠ ألف مستخدم فريد يوميا يقومون بالضغط على ايقونة التطبيق في الصفحة الرئيسية للوصول لتويتر بمعدل ٤ مرات في المتوسط .

ما هو Webassembly

Webassembly هي طريقة جديدة لتشغيل أكواد مكتوبة بلغات برمجة أخري غير جافاسكربت على متصفحات الويب .. تخيل انه يمكنك كتابة اكواد ب لغات برمجة مثل Python , C ,C++ , rust و جعلها تعمل على المتصفح بدون اي اضافات و أداء و سرعة مماثلة للتطبيقات الأصلية.

الغرض من webassembly ليست استبدال جافاسكربت، صممت لتكون مكملا و لتعمل جنبا إلى جنب مع جافاسكربت.

screenshot 273

اشهر التطبيقات التي بالفعل بدات في تبني webassembly لتقديم تجربة استخدام سلسة و سريعه لمستخدميها على الويب هي اوتوكاد و Figma .

كل مصمم UI/ UX يعرف Figma بشكل جيد و هو برنامج لتصميم يعمل بشكل كامل على المتصفح بالاعتماد على webGL لدعم الرسومات على الويب ، نواة التطبيق بالاصل مكتوبة بلغة C++ و التي يتم تحويلها إلى webassembly لتعمل على المتصفح بدون حاجة المستخدم الي تحميل إضافات و ما الي ذلك .

في الوقت الحالي تطبيقات الويب تستطيع عمل الكثير من الأشياء التي كانت مختصرة على التطبيقات الأصلية فيما مضى. و الفجوة بين تطبيقات الويب والتطبيقات الأصلية تتخلص يوم بعد يوم الأمر فقط يعتمد على الوقت لتصبح تطبيقات الويب تفعل كل شيء تفعله تطبيقات Android/ IOS/ و تطبيقات الحواسيب .

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


ياسين حسين

ياسين حسين

مطور برمجيات ، مهتم بالتقنية و عالم الشركات الناشئة

اشترك في القائمة البريدية لتصلك اخر المقالات