تعديل الجبهة ومؤخرة الفصل حرة الحركة

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

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

مقارنة مع المستهلكين، المستخدمين من رجال الأعمال يطالب لتطبيقات الواجهة الأمامية أكثر تعقيدا، وأكثر من ذلك التركيز على الجودة. فيديو الإعلان حرة الحركة الشعبية على مستوى المؤسسات 10 سنوات، على أساس الإطار روبي على القضبان لبناء تطبيق إدارة الويب للمعلنين مرت عدة جولات من التكرار والتطور، وصلت الآن إلى أكثر من 20 وحدات المنتج، 1200 + صفحة، وصلت رمز 1435000 خطوط للقانون، والذي يحتوي على 390000 خطوط للقانون على أساس JS مسج التقليدي. من أجل ضمان جودته، والذي يحتوي على 202000 خطوط حدة كود الاختبار، وبالإضافة إلى ذلك، هناك ما يقرب من 20،000 المستقلة الكتابات الاختبار الآلي. قبل عامين، شعرنا القيود المفروضة على تطبيقات متجانسة وقررت تحويله يكون نهاية للفصل بين الجبهة والعمارة الخلفية.

اختيار التقنية

حرة الحركة الأمامية عرض مجموعة واسعة من الأعمال، ولكن التركيز على تجربة المستخدم، والكفاءة العالية والاتساق. فريق التكميلية خدمات R & D لتعزيز كفاءة وفعالية التنمية الأمامية، ونحن في التحول من قبل دخلت إلى المكون الهدف، والسعي لتوحيد تجربة المستخدم ومكونات معقدة منطق التفاعل الداخلي مغلفة، لضمان جودة من خلال الاختبار الآلي، وأخيرا في وحدة خدمة يتم استخدامها على نطاق واسع.

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

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

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

بمزيد من التفصيل نهاية البعيدة للاختيار الاطار كما يلي:

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

عجلات جديدة SparkUI

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

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

قابلة لإعادة الاستخدام مكونات مكتبة مكون

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

عندما نقوم بتصميم مكونات قابلة للاستخدام، بعض النقاط لمتابعة ما يلي:

  • مكونات عديمي الجنسية (البدون مكون) متفوقة على حالة من العنصر (جليل مكون)؛

  • مزيج من المكونات (تأليف مكونات) من مع DSL (مجال معين لغة) خصائص مكون واحد.

  • عنصر مرتبة عالية (المخصص، العالي، ترتيب مكون) خصائص متفوقة خلط (Mixins).

حالة التطبيق إطار إدارة شرارة MODULA

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

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

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

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

كما يمكن أن يرى في النصف العلوي المقابلة لنموذج مخطط، والدعائم / التسلسل الهرمي / السياق أساس بنية بيانات ثابتة تمكن نموذج البيانات، والنصف السفلي من السلوك يعادل النموذج، المرسل / استقبال + MODULA الحاويات تدفق بيانات أحادي الاتجاه.

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

للحصول على وصف أكثر اكتمالا SparkUI، يرجى الرجوع إلى مقال متابعة أكثر تفصيلا.

الأمامي والخلفي التكامل نهاية

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

واجهة مريحة

واجهة الخلفية متوافقة مع الجماعة مريحة واجهة يعرف القياسية:

  • URL الدلالي، واستخدام GET / POST / PUT / حذف أربعة أنواع من HTTP الأساليب؛

  • وJSON تدعم اثنين من البيانات وشكل العرض XML، الافتراضي، HTTP تستخدم طلبات وردود JSON، يتم إضافة المعلمة XML، واستجابة لطلب باستخدام XML.

  • تفضيلي تستخدم HTTP رمز الحالة (رمز الحالة) حالة أداء نجاح أو الأنواع الشائعة الخلفية من الأخطاء، مثل HTTP 200 (OK)، 401 (غير مصرح به)، 422 (Unprocessable الكيان) ومثل.

  • موحدة خدمة رمز الخطأ ورسائل الخطأ.

  • في ISO 8061 الإدخال القياسي وتاريخ الانتاج والوقت، مثل: 2015-09-08T01: 55: 28Z.

نحن جلب الأمامية نهاية يستند إلى مستعرض واجهة لتغليف علبة شرارة جلب، توفر الوظائف التالية:

  • متصفح جلب كافة الميزات،

  • JSON التسلسل إلغاء التسلسل.

  • HTTP مربع الحوار إلى وحدة العرض، الذي 401 دول سيقفز إلى صفحة تسجيل الدخول خطأ.

  • وفقا لحاجة المستخدم إلى ذاكرة التخزين المؤقت مورد معين؛

  • منع تزوير الطلب عبر المواقع (CSRF).

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

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

المصادقة والتخويل

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

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

الخلفية عامل الميناء من الحاويات

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

عامل الميناء الخلفية للحاوية تعالج بفعالية هذه النقطة الألم. لدينا CI الحالي (التكامل المستمر) خط أنابيب من شأنه أن يؤدي جمعت بعد التعليمة البرمجية الخلفية في الاختيار بوابة بعيد، يتم إنشاء عامل الميناء الصورة التي تحتوي على إصدار المترجمة المترجمة وتحميلها لنجاح تخزين الصور عامل الميناء الداخلي للشركة، وهناك قاعدة بيانات مماثلة والصورة الوسيطة الأخرى. المطورين الأمامية لم تعد في حاجة إلى بيئة تطوير بناء الواجهة الخلفية، ببساطة تثبيت عامل الميناء (مثل عامل الميناء لنظام التشغيل Mac) على الجهاز التطوير في الهندسة الأمامية يحافظ على عامل ميناء-compose.xml، يعلن الهندسة الأمامية الخلفية صورة عامل الميناء اللازمة في كل مرة يتم تحديث الملف والمطورين الأمامية تحتاج فقط لتشغيل عامل ميناء يؤلف حتى -d لإطلاق سلسلة من الحاويات عامل الميناء، تشغيل الجهاز في الخدمات الخلفية كاملة، حيث حتى يحتوي على بعض بيانات الاختبار مناسبة للتنمية.

اختبار التكامل

وضع الانفصال والتكامل الواجهات الأمامية والخلفية من ضمان الجودة الأمام المتطلبات الجديدة. عندما نكتب القاصي جلب المنطق، سنكون مستعدين بطريقة حدة اختبار المقابلة وهمية. لدى كل وحدة واجهة أيضا النهاية الخلفية ردا على الاختبار. هذه الوحدة طرفي كافية لضمان جودة اختبار البرمجيات، من الناحية النظرية، على الرغم من أن كلا الخلايا لديها 100 تغطية اختبار لا يمكن ضمان لتغطية جميع حالات الاستخدام. ضمان الجودة كحلقة وصل رئيسية، بعد يتم تمرير اختبار طرفي الوحدة، وسيتم تنفيذ أتمتة اختبار نهاية CI. هذه الاختبارات الآلي تحاكي سيناريو استخدام المستخدم، وتغطية كاملة للالأمامية، الخلفية، فضلا عن غيرها من الوسيطة قاعدة البيانات.

الإصلاح التقدمي

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

الإنشاءات الهندسية مختلطة

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

بسبب القيود المفروضة على الموارد، وتحول الجبهة وينتهي الجزء الخلفي من الخائن في الواجهة الأمامية، الخلفية مسبقا ليس إيقاع ثابت. الوضع أكثر حدة الأمامية التحول أولا، لا تزال غارقة في الخلفية في وحدة تحكم القضبان الأصلي (وكذلك بعض أعمال التكيف). في هذه الحالة، وحدة SparkUI إعادة كتابة من الواجهة الأمامية (يشار إليها مجتمعة ب "الجديدة الأمامية") تستفيد بشكل مستقل نشر حزمة جلبت خارج القضبان المشروع ليست واضحة، لذلك هذا جزء من شفرة المصدر لا يزال وضع نهاية جبهة جديدة في القضبان مشروع الوحدة الدليل، من خلال Webpack تعبئتها حزمة JS / وحدة CSS هو أيضا وفقا لاتفاق من ملف المورد (الاتفاقية) على جافاسكريبتس my_module تحت وحدات / my_module / التطبيق / الأصول / / / الدليل المترجمة، والقضبان الأصول خط أنابيب القضبان بتنفيذ مشروع تعبئتها في بيان موحد حزمة نشر.

لالمذكورة أعلاه حزمة JS / CSS، ونحن لا تزال تستخدم القضبان كقالب صفحة المدخل، من أجل الحد من تأثير ذلك على مشروع القضبان:

أما بالنسبة للمسار، لأننا نفذنا الجديدة الأمامية التوجيه في الواجهة الأمامية، الخلفية وهذه الغاية من القضبان (صفحة) يمكن تفويضها إلى الجبهة التوجيه:

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

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

SparkUI الهندسة مستقلة

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

  • إدارة الإصدار. فإن أي تكرار للسبارك تؤثر بشكل مباشر على وحدة الخدمة؛

  • كفاءة التنمية. SparkUI غير المكتبات JS نقية، القضبان بيئة تطوير مشروع لتطوير SparkUI جلب بعض العبء.

  • إذن المصدر. يمكن لأي المطورين وحدة الأعمال تعديل SparkUI رمز، ويحتمل أن تكون انتهاك قانون.

  • إعادة استخدامها عبر المشروع. القضبان خارج المشروع أي مشروع في استخدام SparkUI سوف تكون أكثر تعقيدا.

عندما أطلقنا الإصدار 1.0 SparkUI، رفعه من مصدره القضبان المشروع، إلى الهندسة الأمامية نقية جديدة. SparkUI في هذا المشروع الجديد، لا يزال بابل وWebpack حزمة، ولكن سيتم نشرها على الشركة لسنوات الآلية الوقائية الوطنية مستودع نيكزس خاصة كمكتبة. القضبان أعمال أو أعمال أخرى تعلن الاعتماد على SparkUI البعيدة نقية إصدار معين ولها package.json .npmrc التكوين، بعد أداء الآلية الوقائية الوطنية تثبيت SparkUI يمكن استخدامها في التعليمات البرمجية الأمامية.

هذا التغيير تحرير كثيرا من القوى المنتجة SparkUI الطرفين وحدات الأعمال:

  • مكتبات كود منفصلة يمكن أن تكون مخفية داخل جزء أداة API SparkUI أو رموز، لمنع إساءة استخدام وحدة الخدمة؛

  • آخر نسخة من الشعر إيقاع ذلك SparkUI يمكن مطاردة كود جودة أعلى، وشفرة المصدر حاليا ما مجموعه 93،000 خطوط، والتغطية وحدة اختبار تصل إلى 99.43،

  • الخدمة متاحة حدة يمكن نخطط للمزيد نسخة SparkUI الترقية، وقبل هذا ضرورة عدم تكرار اختبار الانحدار.

مزيج كود JS بين القديم والجديد

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

ضمان الجودة

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

  • SparkUI المكونة حدة المكتبة نفسها وفقا لأعلى معايير التغطية الاختبار؛

  • عندما وحدة خدمة إعادة كتابة لنهاية جبهة جديدة، ولكن أيضا لاختبارات وحدة الكتابة SparkUI البنية التحتية القائمة على المقدمة؛

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

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

  • كل الرصاص مجموعة تفعله بدقة مراجعة التعليمات البرمجية على دمج طلب.

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

كتب في الماضي

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

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

نص اليوم الموصى بها

انقر أدناه لقراءة الصورة

القدرة حرة الحركة القوة: كيف لخلق فريق فني أكثر كفاءة وذات جودة عالية

تشانغشا: "القاعدة" تجاوز مهرجان الربيع بفرح في سكان طعم تتمتع "مرحلة كبيرة من الحضارة."

ألعاب، ومقاهي الإنترنت وقاعة الألعاب، الألعاب مد جميع المخلوقات الحية

تم القبض جيا نايليانغ الممثلة العقد سرقة؟ أصدقاء Tucao: عتبة النجوم هي منخفضة لذلك

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

يوصي بعض أمريكية TV أعتقد شخصيا حسن المظهر، أن نطلق عليه "موسيقى دينية" في التلفزيون الأمريكي

وقوف السيارات الذكية، الرقابة البيئية ...... وهؤلاء المطورين العمل سيكون مستقبل مخطط "الذكاء الاجتماعي" لذلك؟

في عيني، MEIZU 16 زائد بعض من مزايا وبعض نقطة فتحات

"أسطورة الأفعى الأبيض" الهفوة وحديثة مرآة بالطول الكامل لسرقة الأضواء، عندما الجمهور الماضي الهفوة أعمى؟

"مرتين" "مشاركة" 190324 صديقها قوة أقصى الحدود! تاريخ قياسي مو اللون الحرجة فارغ القلب

كل DC الكوميديا فيلم الافراج عنه في العامين المقبلين

سخر Ximeng ياو كأصدقاء بيس الثانية؟ هي ولورانس هو يونيو بسبب برنامج تلفزيون الواقع أواصر المحبة دائم

لينغ الولايات المتحدة PICO: محبوبة جديدة من EDC مقبول