2017-07-28 74 views
0

需要开发可在iOS和Android上运行的应用程序。在贷款申请表上显示的字段是动态的,因此取决于web服务响应。有这显示对于用户选择的下拉针对iOS和Android应用程序的动态UI需要的技术推荐

设备兼容性偶数场:的iOS,安卓

领域包含:文本字段,下拉列表,单选按钮,标签为标题,复选框。

建议除Objective C,Swift/Java等本机语言以外的技术。

JSON响应如下

[ 
{ 
    "title": "Tab1", 
    "Contents": [ 
     { 
      "title": "Personal Details", 
      "Values": [ 
       { 
        "id": "0", 
        "fieldvalue": "radio", 
        "label": "Salutation", 
        "values": [ 
         { 
          "id": "1", 
          "label": "Mr" 
         }, 
         { 
          "id": "2", 
          "label": "Mrs" 
         }, 
         { 
          "id": "3", 
          "label": "Others" 
         } 
        ] 
       }, 
       { 
        "id": "1", 
        "fieldname": "UserName", 
        "fieldvalue": "string", 
        "label": "FIRST NAME", 
        "length": "30" 
       }, 
       { 
        "id": "2", 
        "fieldname": "UserName", 
        "fieldvalue": "string", 
        "label": "LAST NAME", 
        "length": "30" 
       }, 
       { 
        "id": "3", 
        "fieldname": "UserName", 
        "fieldvalue": "string", 
        "label": "MOTHERS NAME", 
        "length": "30" 
       }, 
       { 
        "id": "4", 
        "fieldname": "UserName", 
        "fieldvalue": "string", 
        "label": "FAMILY NAME", 
        "length": "30" 
       }, 
       { 
        "id": "5", 
        "fieldname": "UserName", 
        "fieldvalue": "selector", 
        "label": "GENDER", 
        "values": [ 
         "Male", 
         "Female", 
         "Others" 
        ], 
        "length": "30" 
       }, 
       { 
        "id": "6", 
        "fieldname": "UserName", 
        "fieldvalue": "selector", 
        "label": "Education", 
        "values": [ 
         "Graduate", 
         "Post Graduate", 
         "School Level", 
         "Illitrate" 
        ], 
        "length": "30" 
       }, 
       { 
        "id": "7", 
        "fieldname": "DOB", 
        "fieldvalue": "string", 
        "label": "DOB", 
        "length": "10" 
       }, 
       { 
        "id": "8", 
        "fieldname": "Nationality", 
        "fieldvalue": "selector", 
        "values": [ 
         "India", 
         "America", 
         "Britian", 
         "Arabia", 
         "Dubai" 
        ], 
        "label": "Nationality", 
        "length": "10" 
       } 
      ] 
     }, 
     { 
      "title": "Residential Address ", 
      "Values": [ 
       { 
        "id": 1, 
        "fieldvalue": "string", 
        "fieldname": "housename", 
        "length": 30, 
        "label": "House Name" 
       }, 
       { 
        "id": 2, 
        "fieldvalue": "string", 
        "fieldname": "city", 
        "length": 30, 
        "label": "City" 
       }, 
       { 
        "id": 3, 
        "fieldvalue": "string", 
        "fieldname": "district", 
        "length": 30, 
        "label": "District" 
       } 
      ] 
     }, 
     { 
      "title": "Communication Details ", 
      "Values": [ 
       { 
        "id": 1, 
        "fieldvalue": "string", 
        "fieldname": "housename", 
        "length": 30, 
        "label": "House Name" 
       }, 
       { 
        "id": 2, 
        "fieldvalue": "string", 
        "fieldname": "city", 
        "length": 30, 
        "label": "City" 
       }, 
       { 
        "id": 3, 
        "fieldvalue": "string", 
        "fieldname": "district", 
        "length": 30, 
        "label": "District" 
       } 
      ] 
     } 
    ] 
}, 
{ 
    "title": "Tab2", 
    "Contents": [ 
     { 
      "title": "Employement Details", 
      "id ": "0", 
      "fieldvalue": "radio", 
      "label": "Occupation", 
      "Values": [ 
       { 
        "id": 1, 
        "label": "Salaried", 
        "fields": [ 
         { 
          "id": 1, 
          "fieldName": "companyname", 
          "fieldvalue": "string", 
          "length": "30", 
          "label": "Company Name", 
          "isrequired": true 
         }, 
         { 
          "id": 2, 
          "fieldName": "designation", 
          "fieldvalue": "string", 
          "length": "30", 
          "label": "Designation", 
          "isrequired": true 
         }, 
         { 
          "id": 3, 
          "fieldName": "joindate", 
          "fieldvalue": "string", 
          "length": "30", 
          "label": "Joing Date", 
          "isrequired": true 
         }, 
         { 
          "id": 4, 
          "fieldName": "skills", 
          "fieldvalue": "string", 
          "length": "30", 
          "label": "Skills", 
          "isrequired": true 
         }, 
         { 
          "id": 5, 
          "fieldName": "experience", 
          "fieldvalue": "string", 
          "length": "30", 
          "label": "Total Experience", 
          "isrequired": true 
         } 
        ] 
       }, 
       { 
        "id": 2, 
        "label": "Self Employed", 
        "fields": [ 
         { 
          "id": 1, 
          "fieldName": "companyname", 
          "fieldvalue": "string", 
          "length": "30", 
          "label": "Company Name", 
          "isrequired": true 
         }, 
         { 
          "id": 2, 
          "fieldName": "designation", 
          "fieldvalue": "string", 
          "length": "30", 
          "label": "Designation", 
          "isrequired": true 
         }, 
         { 
          "id": 3, 
          "fieldName": "establihmentdate", 
          "fieldvalue": "string", 
          "length": "30", 
          "label": "Established Date", 
          "isrequired": true 
         }, 
         { 
          "id": 4, 
          "fieldName": "projects", 
          "fieldvalue": "string", 
          "length": "30", 
          "label": "Projects Done", 
          "isrequired": true 
         }, 
         { 
          "id": 5, 
          "fieldName": "employees", 
          "fieldvalue": "string", 
          "length": "30", 
          "label": "Employee strength", 
          "isrequired": true 
         } 
        ] 
       }, 
       { 
        "id": 3, 
        "label": "Un Employed", 
        "fields": [ 
         { 
          "id": 1, 
          "fieldName": "employment", 
          "fieldvalue": "string", 
          "length": "30", 
          "label": "Employment Mode", 
          "isrequired": true 
         }, 
         { 
          "id": 2, 
          "fieldName": "income", 
          "fieldvalue": "string", 
          "length": "30", 
          "label": "Monthly Income", 
          "isrequired": true 
         } 
        ] 
       } 
      ] 
     } 
    ] 
}, 
{ 
    "title": "Tab3", 
    "Contents": [ 
     { 
      "title": "Account Details", 
      "id ": "0", 
      "fieldvalue": "selector", 
      "Values": [ 
       { 
        "id": "1", 
        "fieldname": "Car Loan", 
        "fields": [ 
         { 
          "id": "1", 
          "fieldvalue": "number", 
          "label": "Loan Amount", 
          "isrequired": true, 
          "length": "30" 
         }, 
         { 
          "id": "2", 
          "fieldvalue": "number", 
          "label": "Tenure", 
          "isrequired": true, 
          "length": "30" 
         }, 
         { 
          "id": "3", 
          "fieldvalue": "number", 
          "label": "Interest Rate", 
          "isrequired": true, 
          "length": "30" 
         }, 
         { 
          "id": "4", 
          "fieldvalue": "selector", 
          "label": "CAR MAKE", 
          "isrequired": true, 
          "length": "30", 
          "values": [ 
           "Maruti", 
           "Honda", 
           "Renault", 
           "Mahindra", 
           "Ford", 
           "Fiat" 
          ] 
         }, 
         { 
          "id": "5", 
          "fieldvalue": "selector", 
          "label": "FUEL TYPE", 
          "isrequired": true, 
          "length": "30", 
          "values": [ 
           "Petrol", 
           "Diesel", 
           "Electric" 
          ] 
         } 
        ] 
       }, 
       { 
        "id": "2", 
        "fieldname": "Home", 
        "fields": [ 
         { 
          "id": "1", 
          "fieldvalue": "number", 
          "label": "Loan Amount", 
          "isrequired": true, 
          "length": "30" 
         }, 
         { 
          "id": "2", 
          "fieldvalue": "number", 
          "label": "Tenure", 
          "isrequired": true, 
          "length": "30" 
         }, 
         { 
          "id": "3", 
          "fieldvalue": "number", 
          "label": "Interest Rate", 
          "isrequired": true, 
          "length": "30" 
         } 
        ] 
       } 
      ] 
     } 
    ] 
} 
] 

回答

1

你的问题真的很一般。有几十种有效的替代方案,这取决于你的要求。构建动态用户界面不仅仅需要选择“技术”。你可以用任何语言获得。我会做的是序列化API调用,然后根据API“config”调用返回的对象构建UI。不过,您可以使用本机技术实现此目标(例如Android中的GsonRetrofit)。您可以使用Xamarin在C#中开发应用程序,并在iOS和Android应用程序之间共享代码。你可以使用React Native。我不会根据您的要求选择我的语言/平台。