هندسة AppML


هندسة الويب الحديثة

يجمع AppML بين أحدث التقنيات والأفكار لتطوير الويب الحديث.

يركز AppML على السرعة والبساطة والتكلفة المنخفضة:

  • تكلفة منخفضة
  • تطوير الويب السريع والمرن
  • الأمثل للحوسبة السحابية
  • سرعة عالية وانخفاض استهلاك النطاق الترددي
  • هندسة معمارية MVC (موديل متحكم Viev)
  • الفصل الكامل للمحتوى عن العرض
  • قابلة للاختبار وقابلة للتحجيم بدرجة عالية
  • سهولة التكوين وإعادة التكوين
  • إعادة التكوين أثناء تشغيل التطبيقات
  • دعم ذكي لحسابات المستخدمين والأدوار

هندسة MVC

 

يستخدم AppML بنية MVC

يرمز MVC إلى الموديل ، العرض ، المتحكم

يصف النموذج تطبيقك.

يعرض طريقة العرض البيانات الخاصة بك.

تتحكم وحدة التحكم في تطبيقك (بالطبع).

 

ويكيبيديا: نموذج ، عرض ، وحدة تحكم

        MVC

الطراز - Just JSON

يصف النموذج التطبيق.

يمكن إعادة استخدام النموذج على أنظمة أساسية مختلفة للأجهزة والبرامج (الخادم ، وأجهزة الكمبيوتر ، وأجهزة iPhone ، والأجهزة اللوحية ، وما إلى ذلك).

النموذج غير معني بالعرض التقديمي أو واجهة المستخدم (UI).

النموذج مكتوب بلغة JSON:

نموذج

{
"rowsperpage" : 10,
"database" : {
    "connection" : "localmysql",
    "sql" : "SELECT CustomerName, City, Country FROM Customers",
    "orderby" : "CustomerName"
},
"filteritems" : [
    {"item" : "CustomerName", "label" : "Customer"},
    {"item" : "City"},
    {"item" : "Country"}
],
"sortitems" : [
    {"item" : "CustomerName", "label" : "Customer"},
    {"item" : "City"},
    {"item" : "Country"}
]
}

العرض - HTML فقط

العرض هو واجهة المستخدم (واجهة المستخدم) لعرض (وإدخال) البيانات.

العرض مكتوب بلغة HTML و CSS:

عرض HTML

<!DOCTYPE html>
<html lang="en-US">
<title>Customers</title>
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
<script src="https://www.w3schools.com/appml/2.0.3/appml.js"></script>
<body>

<div class="w3-container" appml-data="local?model=model_customers">
<h1>Customers</h1>
<div appml-include-html="inc_listcommands.htm"></div>
<div appml-include-html="inc_filter.htm"></div>
<table class="w3-table-all">
  <tr>
    <th>Customer</th>
    <th>City</th>
    <th>Country</th>
  </tr>
  <tr appml-repeat="records">
    <td>{{CustomerName}}</td>
    <td>{{City}}</td>
    <td>{{Country}}</td>
</tr>
</table>
</div>

</body>
</html>

وحدة التحكم - البرامج النصية للعميل و / أو الخادم

يمكن لبرنامج نصي للعميل في صفحة الويب التحكم في التطبيق:

  • يمكن لـ AppML عرض البيانات كما هو محدد في النموذج
  • يمكن لـ AppML عرض البيانات على النحو المحدد بواسطة سمات HTML.
  • يمكن تشغيل تطبيقات AppML بشكل مستقل عن HTML (مخفي)
  • (اختياريًا) يمكن لـ AppML طلب بيانات النموذج من خادم الويب (خادم SQL)
  • (اختياريًا) يمكن لمستخدمي AppML تحرير البيانات
  • (اختياريًا) يمكن لـ AppML إرسال البيانات إلى خادم الويب

يمكن لبرنامج نصي للخادم التحكم في التطبيق عن طريق:

  • استقبال الطلبات من العميل (المتصفح)
  • إعادة البيانات للعميل
  • استقبال البيانات من العميل
  • تحديث البيانات على الخادم
  • العناية بالمصادقة والأمان

فن البرمجة

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

التحكم في تعقيد تطبيقات الكمبيوتر هو فن البرمجة الحقيقي.


البرمجة التصريحية

غالبًا ما يكسر تطوير البرامج المواعيد النهائية والميزانيات. غالبًا ما يكون البرنامج النهائي مليئًا بأخطاء الترميز. هذا لأن كود الكمبيوتر يصعب تطويره واختباره وصيانته.

الترميز خارج . يجب أن تصف أكثر ما يجب فعله ، وأقل كيف تفعل ذلك.

باستخدام AppML ، تعلن عن تطبيقك في النموذج وفي العرض .

مع AppML ، يوجد عدد أقل (أحيانًا لا شيء) للترميز .

ويكيبيديا: البرمجة التصريحية


تطوير التطبيقات السريع والمرن

التحكم في تعقيد تطبيقات الكمبيوتر هو فن البرمجة الحقيقي.

يعد الحفاظ على حجم التطبيق وتعقيده تحت السيطرة المشكلة الرئيسية لجميع البرمجة.

RAD هي طريقة لتطوير البرمجيات تستخدم الحد الأدنى من التخطيط لصالح النماذج الأولية السريعة.

يقدم AppML نماذج أولية فائقة السرعة ، أسرع بما يصل إلى 100 مرة من طرق التطوير التقليدية.

يمكن تشغيل النماذج الأولية للتطبيق مباشرة من نموذج التطبيق ، دون أي ترميز.

ويكيبيديا: تطوير سريع للتطبيقات

تطوير البرمجيات الرشيقة هي طريقة تعتمد على التطوير خطوة بخطوة ، حيث يتم إنشاء الحلول من قبل المستخدمين والمطورين بالتعاون.

باستخدام AppML ، يمكن كتابة التطبيقات خطوة بخطوة وبزيادات صغيرة من النماذج الأولية إلى التطبيقات الكاملة.

ويكيبيديا: تطوير البرمجيات الرشيقة


الكود أولا

يمكن تطوير تطبيق الويب بطريقتين مختلفتين:

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

2. العقد أولاً: ترميز التطبيق من البداية باستخدام وصف متطلبات التطبيق الكامل.

يستخدم AppML المفهوم الأكثر عقلانية: Code First .


العمارة الخدمية (SOA)

هندسة الخدمة الموجهة (SOA) هي بنية لبناء تطبيقات الويب.

تقدم SOA تكاليف تطوير منخفضة ومرونة عالية.

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

تعد SOA مناسبة تمامًا لـ MVC والبرمجة التصريحية ، حيث يمكن استهلاك البيانات بسهولة دون القلق بشأن الكيفية.


خدمات الويب

خدمة الويب هي واجهة للبيانات ، يتم تحديدها بواسطة عنوان URL ، تمامًا مثل صفحة الويب.

تختلف خدمة الويب عن صفحة الويب في الطريقة التي تنقل بها المعلومات فقط.

توفر خدمة الويب النموذجية البيانات لصفحة الويب فقط.

مع AppML ، HTML هي واجهة المستخدم ، وتوفر خدمة الويب البيانات.

تم تصميم خدمات الويب الأصلية لاستخدام معايير XML مثل SOAP و WSDL و UDDI.

تعد خدمات الويب الحديثة مثل AppML أسهل في الاستخدام.

  • أسهل في الفهم - يمكن أن يقرأها البشر
  • خفيف الوزن - لا يوجد رمز أو ترميز غير ضروري
  • سهل التنفيذ - لا توجد أدوات تطوير مطلوبة

فوائد خدمات الويب

  • خدمات الويب عبارة عن وحدات صغيرة من التعليمات البرمجية
  • تم تصميم خدمات الويب للتعامل مع مجموعة محدودة من المهام
  • تستخدم خدمات الويب بروتوكولات الاتصال القائمة على HTTP
  • خدمات الويب مستقلة عن أنظمة التشغيل
  • خدمات الويب مستقلة عن لغات البرمجة
  • يمكن لخدمات الويب توصيل تطبيقات وأنظمة وأجهزة مختلفة
  • تسهل خدمات الويب توزيع المعلومات
  • تفضل خدمات الويب التطوير السريع للتطبيقات

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

مثال: جداول الرحلات وأنظمة حجز التذاكر.

نظرًا لأن خدمات الويب تستخدم HTTP ، فهي مستقلة عن أنظمة التشغيل ولغات البرمجة.


حوسبة سحابية

الحوسبة السحابية هي امتداد لـ SOA: التطبيق كخدمة ، التخزين كخدمة ، البيانات كخدمة.

بالنسبة لمعظم الناس ، تتعلق الحوسبة السحابية بتخزين البيانات على الويب:

  • رسائل البريد الإلكتروني والتقويمات
  • المستندات وجداول البيانات
  • الكتب والملاحظات وقوائم المهام
  • الموسيقى والصور والأفلام
  • قواعد البيانات والتطبيقات

الأسباب واضحة جدًا:

  • للوصول إلى البيانات من كل مكان
  • لمشاركة بياناتي مع الآخرين
  • للنجاة من تغييرات الأجهزة أو الأعطال

باستخدام AppML ، من السهل جدًا وضع قواعد البيانات والتطبيقات في السحابة.