الجمال في عين الناظر

لقد تم تطوير تطبيقات الويب لفترة طويلة. وقت طويل جدا. لقد أنشأت أول تطبيقات الويب الخاصة بي في بيئة Lotus Domino في وقت لم تكن فيه كلمة "google" فعلًا بعد ، واستخدم الناس Yahoo! للبحث عن معلومات على الإنترنت. و Rambler. لقد استخدمت Infoseek - كان لديهم عملية بحث ضيقة وواجهة غير مثقلة بشكل قبيح مثل Yahoo!


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



(العين على KDPV ليست لي ، والعين أنثى ، ولكن IMHO ، والعين الأنثوية على KDPV هي أكثر ملاءمة من العين الذكور ، لأن هذا هو KDPV !)


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


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


موطن


بروتوكولات


لا أعرف حتى ما إذا كان هذا المعيار يجب أن يؤخذ على حدة. تعيش تطبيقات الويب على الويب وتُجبر على الامتثال لقوانين الويب (البروتوكولات). البروتوكولات الرئيسية على الويب هي TCP و IP . تعتمد العديد من البروتوكولات الأخرى عليها ، لكن بالنسبة لتطبيقات الويب ، أعتبر HTTP هو الأكثر أهمية (أو بالأحرى امتداد HTTPS المستند إلى TLS ). أي أن تطبيق الويب الجميل متاح عبر HTTPS / TLS (كخيار - عبر HTTP) ، والبروتوكولات الأخرى (LDAP و RPC و IMAP4 و POP3 و SMTP و FTP و NNTP ، ...) تجعله أقل جمالًا مع كل بروتوكول معتمد اختياريا. يمكن للتطبيق نفسه استخدام موارد خارجية باستخدام هذه البروتوكولات الإضافية.


بالنسبة إلى WebSocket ، ليس لدي خبرة كافية في استخدام هذا البروتوكول مع تطبيقات الويب. يبدو جميلًا واعدًا ، لكن لا يمكنني القول كم هو مستقر وعملي.


المتصفحات


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


YAP


مع لغات البرمجة المستخدمة لإنشاء تطبيقات الويب ، كل شيء مربك للغاية. هناك الكثير من التقنيات لجانب العميل من تطبيقات الويب التي تسمح للمطور بتسهيل إنشاء ثالوث HTML / CSS / JS (شيء يفهمه كل المتصفحات الحديثة). لكنني ذات مرة كانت على اتصال وثيق بـ GWT واعتبرها جميلة عندما يرى أحد المطورين الرمز الأصلي في المتصفح ، وليس نتيجة الترجمة أو التحويل البرمجي. لذلك ، يعد استخدام حزمة الويب والمنتجات المماثلة لإنشاء رمز العميل ، IMHO ، أمرًا قبيحًا. كلما تشابهت الشفرة المنفذة في المتصفح مع الكود المصدري الذي أنشأه المطور ، كان ذلك أفضل. لا تصدق؟ حاول أن تنحرف في إنتاج الكود الذي أنشأته GWT.


توجد حرية أكبر على جانب الخادم (Java و PHP و perl و python و C # و Ruby ، ​​...) ، لكن يبدو لي أنه من الجميل أن يستخدم كل من جانب الخادم والمتصفح لغة برمجة واحدة - JavaScript. ومع ذلك ، فإن اللغة تحدد التفكير ، والفرق المشابهة التفكير أكثر إنتاجية.


الجنس البشري


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


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


عكس التدرجية


ذات مرة ، يمكن نقل البرامج على أقراص مرنة ، أو الآن على محركات أقراص فلاش ، أو تنزيلها على الفور من الويب. يعد نسخ تطبيق عادي وتشغيله على جهاز آخر مهمة تافهة. مع تطبيقات الويب ، يكون الوضع خاصًا إلى حد ما. الشبكة هي بيئة عالمية لا توجد فيها حاجة لاستنساخ نفس تطبيق الويب. واحد Facebook أو Twitter أو Instagram أو Mail.ru أو Yandex يكفي على الويب. يمكنك الحصول على تطبيقات ويب مختلفة في نفس المجال المواضيعي ، ولكن مع جماهير مختلفة (مثل Facebook و Vkontakte و Mail.ru و Gmail وخرائط Google وخرائط Azure). هناك حاجة إلى موارد الأجهزة لضمان توفر تطبيقات الويب العالمية ، دعنا نقول ، غير تافهة .


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


تطبيق ويب جميل لا يتعدى نطاقه وتوسعه (للمستخدمين) ، ولكن إلى أسفل وفي (للمطورين).


"البرمائيات"


يتم استخدام نوعين من الأجهزة للوصول إلى تطبيقات الويب الحديثة:


  • أجهزة الكمبيوتر (أجهزة الكمبيوتر المحمولة وأجهزة الكمبيوتر المكتبية) ؛
  • الأجهزة المحمولة (الهواتف الذكية والأجهزة اللوحية) ؛

في مكان ما في الأفق تلوح في الأفق " إنترنت الأشياء " ، ولكن حتى الآن.


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


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


تقاسم عبر


لقد لاحظت بالفعل في الفقرة "عكس قابلية التوسع" أن الطبيعة العالمية للشبكة تجعل من الممكن وجود تطبيق ويب واحد على الكوكب. لذلك ، يجب أن يكون كل تطبيق ويب مختلفًا على الأقل عن التطبيقات الأخرى لضمان بقائه. ومع ذلك ، فإن خبرتي الطويلة في Magento (إطار عمل بناء متاجر التجارة الإلكترونية) تقول أنه يمكن أن يكون هناك أكثر من مشترك بين تطبيقات الويب الفردية أكثر من الاختلافات. لا ينبغي أن يكون تطبيق الويب الجميل مجرد وحدات ، بل يجب أن يشارك وحداته مع تطبيقات الويب الأخرى. إلى حد ما ، تنعكس هذه الفكرة في مواصفات JSR 168 و JSR 286 وفي أطر مثل WordPress و Django و Magento نفسها. كلما زاد عدد وحدات تطبيق الويب التي تستخدمها تطبيقات الويب الأخرى ، زاد جمالها من وجهة نظري. تتيح لك المشاركة المتبادلة إنشاء وحدات نمطية أفضل ، وبالتالي ، تطبيقات ويب أكثر استقرارًا.


حسب الوحدة النمطية ، لا أقصد المكتبات مثل jQuery أو RequireJS - بدلاً من ذلك ، التكوينات الأكبر ، مثل المكونات الإضافية في WordPress و Django . لكن بالنسبة للمكتبات ، فإن الأطروحة صحيحة أيضًا أن التوزيع الواسع للمكتبة يجعلها أفضل وأكثر استقرارًا.


هارفارد العمارة


تتضمن هندسة Harvard ، بخلاف كرة Princeton الحاكمة الحالية ، الفصل بين الكود والبيانات. لم تقلع الهندسة المعمارية ، لكن الفكرة نفسها تبدو لي جميلة. خاصة لتطبيقات الويب. أي احصائيات (HTML / CSS / JS / Images / ...) هي رمز. يمكن ويجب تخزينها مؤقتًا على الأقل من جانب الخادم ، على الأقل من جانب العميل. والبيانات هي REST / JSON (جميلة) أو SOAP / XML (أقل بقليل من الجمال). أو WebSockets / JSON (قد يكون الخيار الأفضل ، لكنني لم أحاول).


التعريب


هناك شيئان يهمني بشكل خاص عند تطوير تطبيقات الويب - وهي واجهة متعددة اللغات ومناطق زمنية. أنا نفسي من لاتفيا ، نستخدم ثلاث لغات: LV ، RU ، EN. يجب أن يوفر تطبيق الويب الجميل فرصة ليس فقط لاستخدام عدة لغات في التطبيق نفسه ، ولكن أيضًا لتوسيع عدد اللغات المستخدمة مع الموارد الخارجية ، مثل Crowdin . وينطبق الشيء نفسه على الوحدات التي تم بناء تطبيق الويب منها.


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


تزوير بدلا من نجوم الموت


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


انظر الآن إلى خدمة مثل DNS . عندما تستلقي خوادم الجذر ، يكون العالم كله في حالة من الحمى .


في رأيي ، لا يمكن أن يكون تطبيق الويب الجميل كبيرًا مثل Facebook أو Mail.ru. هذا أقرب إلى نجمة الموت ، من حيث الموارد اللازمة للبناء وفي الموارد اللازمة للحفاظ على قابلية التشغيل. نعم ، في حالة تدمير Facebook ، لن تختفي البشرية ، وستتولى مهامها بسرعة تطبيقات أخرى (نفس VK في الاتحاد الروسي والمتاخمة ، Instagram ، Twitter ، ...). ومع ذلك ، فإن إغلاق جزء كبير من سكان الكوكب في تطبيق واحد أمر بشع. علاوة على ذلك ، في ظل وجود بدائل أكثر استقرارًا (مثل السيول ).


ملخص


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


شكرا للقراءة.

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


All Articles