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

(في KDPV ، العين ليست لي ، والعين أنثى ، ولكن ، IMHO ، العين الأنثوية على KDPV أكثر ملاءمة من عين الذكر ، لأن هذا - !)
في إطار الخفض ، توجد معياري الخاصة لنوع تطبيق الويب الذي يمكن اعتباره جميلًا في الوقت الحالي. ذاتية للغاية ، بناءً على تجربتي الشخصية. ربما ستبدو معايير الجمال الخاصة بي لشخص ما معيارًا للقبح. لا تتفاجأ ، لديك فقط تجربة مختلفة.
وبما أنك خضعت للقطع ، فكن حذرًا في التعليقات ، من فضلك. بعد كل شيء ، إذا كان بإمكانك التوقف عن قراءة مقال بمجرد أن يبدو ما ورد فيه قبيحًا أو حتى قبيحًا بالنسبة لك ، فعندئذٍ ، بصفتي مؤلفًا ، يجب أن أقرأ جميع التعليقات.
الموطن
بروتوكولات
لا أعرف حتى إذا كان هذا المعيار يجب أن يؤخذ بشكل منفصل. تعيش تطبيقات الويب على الويب وتُجبر على الامتثال لقوانين الويب (البروتوكولات). البروتوكولات الرئيسية على الويب هي и . تعتمد العديد من البروتوكولات الأخرى عليها ، ولكن بالنسبة لتطبيقات الويب ، فأنا أعتبرها الأكثر أهمية (أو بالأحرى امتداده على أساس ). أي أن تطبيق الويب الجميل متاح عبر HTTPS / TLS (أو بدلاً من ذلك عبر HTTP) ، كما أن البروتوكولات الأخرى (LDAP و RPC و IMAP4 و POP3 و SMTP و FTP و NNTP ...) تجعله أقل جمالًا مع دعم كل منها بشكل إضافي بروتوكول. يمكن للتطبيق نفسه استخدام موارد خارجية باستخدام هذه البروتوكولات الإضافية.
مع الاحترام ل ، إذن ليس لدي خبرة كافية في استخدام هذا البروتوكول مع تطبيقات الويب. تبدو جميلة وواعدة ، لكن لا أستطيع أن أقول كم هي مستقرة وعملية.
المتصفحات
تطبيق الويب له قدم واحدة فقط على جانب الخادم والأخرى على جانب العميل. جانب العميل هو المتصفح. يوفر المتصفح الحديث التي يمكن لتطبيق الويب الحديث الاستفادة منها. يستخدم تطبيق الويب الجميل إمكانيات المستعرض الحديثة ولا يجب أن يعمل في متصفحات لا توفر إمكانات حديثة. انا افهم ذلك - هذا إجراء ضروري ولكنه قبيح. بعد كل شيء ، لا يتعين على المطورين فقط مواكبة التقنيات الحديثة ، بل ينطبق هذا أيضًا على المستخدمين والشركات.
ياب
مع لغات البرمجة المستخدمة لإنشاء تطبيقات الويب ، كل شيء محير للغاية. بالنسبة إلى جانب العميل لتطبيقات الويب ، هناك الكثير من التقنيات التي تسمح للمطور بتسهيل إنشاء ثالوث HTML / CSS / JS (الذي تفهمه جميع المتصفحات الحديثة). لكن في وقت ما كنت على اتصال وثيق مع وأنا أعتبرها جميلة عندما يرى المطور الكود الأصلي في المتصفح ، وليس نتيجة التجميع أو الترجمة. لذلك ، فإن الاستخدام 'ومنتجات مماثلة لتوليد كود العميل ، IMHO ، قبيح. كلما كانت الشفرة التي يتم تشغيلها في المتصفح أكثر تشابهًا مع شفرة المصدر التي أنشأها المطور ، كان ذلك أفضل. لا تصدق؟ حاول تصحيح أخطاء الكود الذي تم إنشاؤه بواسطة GWT في الإنتاج.
هناك المزيد من الحرية على جانب الخادم (Java ، PHP ، perl ، python ، C # ، Ruby ، ...) ، لكن يبدو لي أنه من الجميل استخدام لغة برمجة واحدة على جانب الخادم وفي المتصفح - جافا سكريبت. ما زال والفرق ذات التفكير المماثل أكثر إنتاجية.
إنسانية
يجب أن يكون تطبيق الويب الجميل مفيدًا. مفيد ، أولاً وقبل كل شيء ، للشخص كمستخدم نهائي. لذلك ، لا يمكنني تسميته تطبيق ويب جميل. . من الصعب على شخص عادي (وليس مطور ويب) التعامل معهم. خدمات الويب جميلة بطريقتها الخاصة ،
يجب أن يكون لتطبيق الويب الجميل واجهة سهلة الاستخدام. يمكنك المجادلة حول "e" شيء شخصي جدًا. أنف كل شيء أبسط بكثير إذا كان المستخدم لا يستطيع استخدام التطبيق دون العزيزة - تجربة مستخدم سيئة ، تطبيق ويب قبيح. يمكن للأطفال الذين لا يستطيعون القراءة حتى الآن استخدام أجمل تطبيقات الويب وفقًا لهذا المعيار.
قابلية التوسع العكسي
ذات مرة ، كان من الممكن نقل البرامج على أقراص مرنة ، الآن - على محركات أقراص فلاش أو تنزيلها مباشرة من الويب. يعد نسخ تطبيق عادي وتشغيله على جهاز آخر مهمة تافهة. مع تطبيقات الويب ، يختلف الوضع إلى حد ما. الويب عبارة عن بيئة عالمية حيث لا توجد حاجة لاستنساخ نفس تطبيق الويب. يكفي وجود Facebook أو Twitter أو Instagram أو Mail.ru أو Yandex على الويب. يمكن أن يكون لديك تطبيقات ويب مختلفة في نفس المكانة الموضوعية ، ولكن مع جماهير مختلفة (مثل Facebook و Vkontakte و Mail.ru و Gmail وخرائط Google وخرائط Azure). هناك حاجة إلى موارد الأجهزة لضمان التوافر العالمي لتطبيقات الويب هذه ، دعنا نقول ، .
لم أعمل مطلقًا مع تطبيقات الويب من هذا المستوى كمطور وليس لدي أي فكرة عن كيفية ترتيبها هناك. لضمان أداء تطبيقات الويب هذه ، هناك حاجة إلى فرق من المتخصصين المناسبين ومراكز بيانات منفصلة. أنا معجب بقدرة الأشخاص على التعاون على هذا النطاق وإنشاء مثل هذه المنتجات ، لكن معيار الجمال الخاص بي هو تطبيق ويب يمكن تشغيله على كمبيوتر محمول منفصل.
لا يقتصر تطبيق الويب الجميل على التوسع والنزول (للمستخدمين) فحسب ، بل أيضًا إلى الأسفل والداخل (للمطورين).
"البرمائيات"
يتم استخدام نوعين من الأجهزة للوصول إلى تطبيقات الويب الحديثة:
- أجهزة الكمبيوتر (أجهزة الكمبيوتر المحمولة ، أجهزة الكمبيوتر المكتبية) ؛
- الأجهزة المحمولة (الهواتف الذكية والأجهزة اللوحية) ؛
في مكان ما في الأفق يلوح أكثر"لكن حتى الآن.
تختلف أجهزة الكمبيوتر عن الأجهزة المحمولة كما تختلف الكائنات البرية عن الطيور المائية. هذه بيئات مختلفة وتتطلب مطالب مختلفة على الكائنات (البرامج) التي تعيش فيها. تطبيقات الويب الجميلة ليست هي تلك التي تبدو ، لكن الموجود في الماء مثل الأسماك ، على الأرض مثل الحيوانات وفي الهواء () مثل الطيور.
أجدها قبيحة"، إنها مثل محاولة الجلوس على كرسيين (مع تحسين محركات البحث - ثلاثة). أفضل مثل فيونا من شريك - واحدة أثناء النهار وأخرى في الليل. نعم ، أغلى. ولكن أفضل.
عبر المشاركة
لقد أشرت بالفعل في قسم "قابلية التوسع العكسي" إلى أن الطبيعة العالمية للويب تجعل من الممكن وجود تطبيق ويب واحد لكل كوكب. لذلك ، يجب أن يكون كل تطبيق ويب مختلفًا إلى حد ما على الأقل عن التطبيقات الأخرى من أجل ضمان بقائه. ومع ذلك ، فإن سنوات خبرتي العديدة مع (إطار عمل لبناء متاجر التجارة الإلكترونية) يقول أنه يمكن أن يكون هناك المزيد من القواسم المشتركة بين تطبيقات الويب الفردية أكثر من الاختلافات. لا يحتاج تطبيق الويب الجميل إلى أن يكون نمطيًا فحسب ، بل يجب أيضًا مشاركة وحداته مع تطبيقات الويب الأخرى. إلى حد ما ، تنعكس هذه الفكرة في JSR 168 و JSR 286 وأطر مثل , ونفس الشيء Magentoكلما زاد عدد الوحدات التي يستخدمها تطبيق الويب، كلما كان أجمل، في رأيي. تتيح المشاركة المتبادلة إنشاء وحدات ذات جودة أعلى، وبالتالي تطبيقات ويب أكثر استقرارًا.
حسب الوحدة ، لا أقصد مكتبات مثل jQuery أو RequireJS - بل أعني كيانات أكبر مثل المكونات الإضافية и . لكن بالنسبة للمكتبات ، فإن الأطروحة صحيحة أيضًا وهي أن التوزيع الواسع للمكتبة يجعل من الممكن جعلها أفضل وأكثر استدامة.
الهندسة المعمارية في جامعة هارفارد
، على عكس الكرة الحاكمة الآن ، يعني فصل الكود والبيانات. لم تقلع الهندسة المعمارية ، لكن الفكرة نفسها تبدو جميلة بالنسبة لي شخصيًا. خاصة لتطبيقات الويب. أي ثابت (HTML / CSS / JS / Images /…) هو رمز. يمكن ويجب تخزينها مؤقتًا إما على جانب الخادم أو من جانب العميل. والبيانات / (جميل) أو / (أقل جمالًا قليلاً). أو WebSockets / JSON (قد يكون الخيار الأفضل ، لكني لم أجربه).
التعريب
هناك شيئان أهتم بهما بشكل خاص عند تطوير تطبيقات الويب - هذه واجهة متعددة اللغات ومناطق زمنية. أنا نفسي من لاتفيا ، نستخدم ثلاث لغات: LV ، RU ، EN. لا يجب أن يكون تطبيق الويب الجميل قادرًا على استخدام لغات متعددة في التطبيق نفسه فحسب ، بل يسمح لك أيضًا بتوسيع عدد اللغات المستخدمة باستخدام موارد خارجية ، مثل . وينطبق الشيء نفسه على الوحدات النمطية التي يتم تجميع تطبيق الويب منها.
مع المناطق الزمنية ، كل شيء بسيط ، في جميع الحالات عندما لا يكون من الواضح كيفية معالجة التاريخ والوقت ، افعل هذا: كل شيء موجود على الخادم ينتقل إلى الخادم ويأتي من الخادم - UTC ، كل ما يتم عرضه على العميل - وفقًا للمنطقة الزمنية من ملف تعريف المستخدم. انه جميل.
يصوغ بدلا من نجوم الموت
ذات مرة ، كان لكل مدينة كبيرة إلى حد ما هيكلها الخاص. ربما ليس وحده. بعضها أفضل ، وبعضها أسوأ. كان هناك سادة حداد ، معروفين في جميع أنحاء العالم ، وكان هناك من ذهب من عدم وجود بدائل. كانت هناك حروب وأوبئة وكوارث طبيعية. اختفت بعض البلدات مع السكان. لكن الحدادة بقيت على قيد الحياة. بدلاً من المدن المختفية ، أقيمت مدن جديدة وظهرت فيها أيضًا تزوير.
انظر الآن إلى خدمة مثل . عندما تنخفض خوادم الجذر ، .
في رأيي ، لا يمكن أن يكون تطبيق الويب الجميل بحجم Facebook أو Mail.ru. هذا أقرب إلى"من حيث الموارد اللازمة للبناء والموارد اللازمة للحفاظ على الأداء. نعم ، إذا تم تدمير Facebook ، فلن تختفي الإنسانية ، وستتولى التطبيقات الأخرى وظائفه بسرعة (نفس الشيء على أراضي الاتحاد الروسي والمناطق المجاورة ، Instagram ، Twitter ،…). ومع ذلك ، فإن إغلاق جزء كبير من سكان الكوكب إلى تطبيق واحد أمر قبيح. خاصة عندما تكون هناك بدائل أكثر استدامة (على سبيل المثال ، ).
ملخص
إذا كنت قد قرأت حتى النهاية وكنت في حيرة من أمرك - "ماذا كان؟أعبر لكم عن خالص تعازيّ. أنا لم أرغمك على قراءة هذا. لقد حاولت فقط وضع أفكاري في كلمات للعثور على أولئك الذين يفكرون بنفس الطريقة. ربما يمكنني مناقشة بعض جوانب إنشاء تطبيقات ويب جميلة معهم ومعرفة إجابات أسئلتي. ولدي الكثير منهم.
شكرا للقراءة.
المصدر: www.habr.com
