البرمجة التعريفية لنظام Android لتطبيقات خادم العميل

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


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


ويرجع هذا التسارع إلى حقيقة أنه في البرمجة التقريرية تصف فقط "ما الذي يجب أن أحصل عليه؟" وليس "كيف نفعل ذلك؟".


لتوضيح الاختلافات بين البرمجة التوضيحية والإلزامية ، ضع في الاعتبار المثال البسيط التالي.


في النشاط الموضح في الشكل ، هناك جزء (محاطة بخط أحمر).


صورة

إن ترميز هذا الجزء بسيط ؛ لا يوجد سوى RecyclerView بمعرف إعادة التدوير. ترميز عناصر القائمة موجود في ملف item.xml. تقع البيانات في . تتطابق أسماء (معرف) عناصر الترميز مع الأسماء المقابلة في البيانات الواردة من الخادم.


(). (MVP).


.


Item – , .


Adapter – RecyclerView.Adapter. , List. , , : getItemCount – ; onCreateViewHolder – View item.xml MyHolder; onBindViewHolder — MyHolder ( ). MyHolder .

Presenter — RxJava Retrofit. URL. iView ( MyFragment).


iView – MyFragment.


MyFragment – Fragment. . ( List.) , . , , , .

. , . — . URL, RecyclerView item.xml.


— , , . , :


recycler(URL, R.id.recycler, R.layout.item);

DePro. , :


component(TC.RECYCLER, model(URL), view(R.id.recycler, R.layout.item_news))

component – ; TC.RECYCLER – ( RecyclerView); model(URL) – , URL; view id recycler- .


, .


DePro . (, , , ...) .


. :


activity( , id )


: activity(“splash”, R.layout.activity_splash)
.


: fragment(“auth_phone”, R.layout.fragment_auth_phone)


. MVP.


:


.component(TYPE, model(...), view(...), navigator(...))

TYPE — , SPINNER, DRAWER, RECYCLER, MENU, MAP, PAGER .. model(...) . , , URL. view(...) , . navigator(...) . , navigator(start(R.id.video, YOUTUBE)) , R.id.video YOUTUBE. navigator- .


, :


 activity(String name, int layoutId)
        .component(TYPE, model(...), view(...), navigator(...))
        . . .
        .component(TYPE, model(...), view(...), navigator(...));

5 — 10 .


DePro :


  • java (SLOC) 40-50 .
  • ( XML — ) 15 — 20 .
  • ( XML — ) 3 — 5 .
  • 2 — 3 .

. Github.


سنصف في المقالة التالية الدورة الكاملة لتطوير التطبيقات باستخدام مكتبة DePro.


All Articles