Wir haben die Zeit fĂŒr die Entwicklung eines neuen Szenarios fĂŒr die Veröffentlichung einer Anzeige von 6 Tagen auf 42 Sekunden verkĂŒrzt

Hallo alle zusammen! Mein Name ist Artyom Peskishev, ich bin ein iOS-Entwickler in Avito. Ich möchte Ihnen sagen, wie wir ein Backend-gesteuertes Skript zum Veröffentlichen neuer Anzeigen in unseren mobilen Anwendungen gestartet haben.


Lassen Sie uns sehen, welche Schritt-fĂŒr-Schritt-Skripte in Anwendungen enthalten sind und welche Probleme wir mit dem Skript zum Platzieren einer Anzeige hatten. Der Artikel handelt von einem Tool, das wir entwickelt haben, um diese Probleme und die Ergebnisse seiner Implementierung zu lösen.



Backend-gesteuerte BenutzeroberflÀche


Backend-driven UI â€”   ,     , ,   , ,  .


Backend-driven UI    ,   .  ,  . , .    .  , .


 backend-driven  â€”  backend-driven UI.


 


 â€” ,   .  â€” . : , Wi-Fi, Apple ID.   .



  â€” . , MyFitnessPal, .   ,  .



  .   «». . ,  . ,  ,   ,   « ».    .



   Â« ». , , .   ,   . ,   « ».



   .   .      ,  , .


,    .    ,  . ,   .  ,   QA-. .


,   . , , .     , . , .



,   ,  , , .   . -     .  .  iOS, Android,  Desktop .



,   ,   . .


:


  1.   .
  2.   .
  3.  


  «».   :


  • Select    .
  • Input    .
  • Address  .
  • Photos  .
  • Bool     .

 .   , ,      . ,   , . , , .


  «» ,  .   .



  .  â€” ,   .


,  â€” , .   . , , ,  . ,    ,   .    â€”   -.


 â€” . -     . select.      .  ,   . ,   , .


 â€” .   ,   .


   â€” . ,  . , ,   .   .


. , .   « », .  ,  .  ,     «».


,   « »  . . .


    «». VIN, VIN   .    18  .


,   , , , ,   .   - , ,   . , .


,   :


  •   , ?
  • ?     ,   . ,    â€” , , .     .
  • ?   , . .

, .   ,   -.     .


:


  1. Pretend,    , .
  2. .  , .
  3. .   .

, backend-driven UI   ,   .


 


: , .


 â€” UI-   . ,   , .   . :   , , .


 "steps": [{
            "id": 1133,
            "title": " ",
            "fields": [],
            "type": "wizard"
        }, {
            "id": 1169,
            "title": " ",
            "fields": [],
            "type": "request",
            "subtype": "steps",
       }, {
            "id": 1168,
            "title": "",
            "fields": [499],
            "type": "params"
        }, {
            "id": 1134,
            "title": "VIN ",
            "fields": [838],
            "type": "vin"
       }, {
            "id": 1163,
            "title": " ",
            "fields": [549, 498, ...],
            "type": "params"
        },
        {...}]

  .   ,   .     ,  .


, . ,   «», . , , .   , ,   "value" .   â€” iOS, Android .


  .



DynamicPublish , ,   , .


,  â€” .  DataService,  ,   - -, .   .


 â€” StepHandler.  ,  ,   .


StepHandler, . , Wizard â€” StepHandler,   . Steps -. Select . Params   .


. -, .    . , , «»   .


 StepHandler. StepHandler  - ,  .   .


, «»,   , . , «».


. StepHandler   . -  â€” , ,   . n  ,    â€” , .



  . ,   , , .   . -  , .


.      .  â€” , , . , ,   , , , . . .


42   ,   .     .



 â€”   . , . ,   , .


    . /-  .


. ,   .


  .   . ,  â€” . , , , .


. , .      â€” . , MVP ,   .    , , .


All Articles