MobileApp

Mobile Application




Mobile Application

Development Framework December -2021 Handbook for Design, Development and Upkeep of Mobile Apps (For internal use of NIC Officers)

Mobile Application

Contents

Foreword............................................................................................................................................. 5 Introduction ........................................................................................................................................ 6 Objective ......................................................................................................................................... 7 Mobile Device Types and Platforms ............................................................................................... 8 Content Organization ...................................................................................................................... 9 App Development Life Cycle ............................................................................................................. 10 Approaches to App Development ................................................................................................. 10 Development Life Cycle ................................................................................................................ 13 Development Frameworks ............................................................................................................ 14 Recommended Framework: Flutter .............................................................................................. 19 Targeted Users and Purpose ......................................................................................................... 20 Wireframe of Mobile App ............................................................................................................. 20 Flutter as Preferred Framework ....................................................................................................... 24 Setting up Flutter Environment .................................................................................................... 26 Demo App Tutorial using SQLITE and API ..................................................................................... 27 Re-Usable Code Libraries .............................................................................................................. 36 Web APIs for Communication ........................................................................................................... 42 Uses of Web API ......................................................................................................................... 42 RESTful Web Services .................................................................................................................... 44 RESTful Methods ......................................................................................................................... 45 Why RESTful?............................................................................................................................... 46 RESTful Architecture ................................................................................................................. 47 RESTful Principles and Constraints ...................................................................................... 48 Create your first RESTful web service in ASP.NET ........................................................ 50 API Security: Best Practices ........................................................................................................... 59 IIS Hosting of Web APIs ................................................................................................................. 62 Sample RESTful web service.................................................................................................. 62 Testing your first RESTful web service .............................................................................. 64 Summary ....................................................................................................................................... 68 Securing Mobile Apps ....................................................................................................................... 69 Developer Challenges ................................................................................................................... 70 Security Issues - Mobile App Development .................................................................................. 70 NIC: Mobile App Development Framework -2- Version 1.1, 10-Dec-2021

Contents

App Testing ....................................................................................................................................... 74

Challenges of Mobile Application Testing .............................................................................. 74 Emulators or Simulators .............................................................................................................. 75 Cloud-based App Testing .............................................................................................................. 75 Stages of App Testing .................................................................................................................... 76 Manual or Automated Testing ................................................................................................... 79 Automation vs. Manual Testing ................................................................................................ 79 Manual Mobile Testing .................................................................................................................. 79 Steps to Test Mobile Apps Manually ....................................................................................... 80 Mobile App Testing Process ........................................................................................................ 81 Choosing the Right Mobile Test Automation Framework ................................................ 82 Criteria for Selecting a Mobile Test Automation Framework ......................................... 82 Popular Automation Mobile App Testing Tools .................................................................... 83 Android Testing Frameworks ........................................................................................................ 83 iOS Testing Frameworks................................................................................................................ 84 TestFlight Beta Testing Overview (iOS, macOS) ............................................................... 86 Publishing Your App .......................................................................................................................... 88 Publishing on Google Play Store ................................................................................................... 88 Recent Changes in Store Policies .................................................................................................. 95 Publishing on Apple App Store...................................................................................................... 96 Maintenance, Reviews, Enhancements .......................................................................................... 100 Versioning NIC: Mobile App Development Framework -3- Version 1.1, 10-Dec-2021

App Testing ....................................................................................................................................... 74

Version

Release Date 1.0 20-Sep-2021 1.1 10-Dec-2021 2.0 *15-Dec-2021 NIC: Mobile App Development Framework Reasons Content Added/ Updated/ Sections Updated Draft content shared with MCCs for feedback Review meeting of MCCs by DG NIC on 12Nov-2021 As per suggestions during the review meeting content of the book has been re-organised and modified as per suggestions. New Chapter on Testing and Contributors /References sections have been added. Chapter 6 Added, Chapters 2 and 3 reorganised. New sections for Contributors and References added. Re-usable code libraries and app security inputs taken from Cyber Security Group added. As per feedback received from MCCs *To be modified as per actual feedback received after sharing Version 1.1 with NIC Officers involved in this work. Re-usable code Libraries and content on Mobile App security added -4- Version 1.1, 10-Dec-2021

Version

Foreword

Today the focus area in eGovernance, to cover larger user base, is through Mobile Apps because of availability of smart phones with majority of the population in India and extensive mobile connectivity. A forecast of smartphone users in India in 2021 is 85 crores which will make more than 65% population coverage. Therefore, quick development of mobile apps using appropriate technology is definitely the need of hour. The idea of bringing out this ’Handbook on Mobile Application Development’ is a follow up action resulting from the District Governance Mobile Challenge. Almost 646 District Officers of NIC submitted the synopsis and more than 300 mobile apps have been developed during the Challenge period of 2 months. This prompted the need for having NIC’s own Framework for Mobile App development. The objective is to enable NIC officers to develop mobile apps to meet immediate Governance needs quickly and, in a user-friendly manner. During the pandemic, smart mobile phones have emerged as the saviours in meeting information requirements of Governments and Citizens alike. This Framework will help the NIC officers in embarking upon Mobile App development path by following the best practices and using the re-usable code for standard requirements like camera phone, GPS coordinates, image re-sizing, PDF generation etc. The tools to develop apps are suggestive and recommended on the basis of their utility and quickness in producing cross platform apps. Advanced users may opt for tools in which they are comfortable with. The Framework provides best practices and the lifecycle to be followed, especially the hosting requirements, reviews, updation of apps etc. These need to be followed by all developers. I complement the NIC Mobile Application Division and all Centres of Competency for bringing out this eBook. Suggestions for improvement are always welcome in next editions, which will be required in the ever-changing App scenario and can be shared with Mobile App Division. Wishing that the eBook is put to Best Use by NIC Officers in providing online services through Mobile Apps. Dr. Neeta Verma, Director General NIC: Mobile App Development Framework -5- Version 1.1, 10-Dec-2021

Foreword

1.0

Introduction A mobile application, commonly referred to as an App, is a type of application software designed to run on a mobile device, such as a smart phone, tablet, smart TV, computer or smart watch. Mobile applications are intended to provide users with similar services on touch screen devices as are accessed on PCs using browser. This is achieved with the help of Services/ APIs. Mobile App development can be carried out using various Technologies/Frameworks available today. A common question raised is Why Mobile Apps? The number of smart phone users in India is estimated to be 850 million in 2021, with 73% literacy rate of Indian populace, and further justifications are: • • • • • • • • User convenience, high up-time, easy access, reduced cost, low Carbon Footprints and reduced foot fall in the offices are key factors leading to the Mobile First development. mGovernance is a way forward in the easy delivery of the services. Almost every major citizen of India has a mobile phone (100%, above 15 years of age) Internet Connectivity is much cheaper as compared to previous years High Bandwidth availability Capability to work offline with lesser functionality in case of non-availability of Internet One doesn’t need to know typing to work on a Smart phone. It only has a touch screen. You just tap and use it. You don’t need electricity all the time to use a Smart phone. It’s always charged, always on, with short duration of charging time. Less time taken to develop and add new features in App There are no maintenance costs or parts in a smart phone, hence lesser downtime Therefore, providing citizen interfaces to Government Services through Mobile Apps is a logical reason. NIC being at the forefront of developing eGovernance applications in the country, the need for adding mobile app-based services is an urgent requirement in today’s scenario. NIC officials have developed more than 700 mobile applications and majority of these are accessible from https://egovmobileapps.nic.in. Mobile Apps have certain inherent features, which make them popular among users, like • • • Simplicity- Many people have short attention spans and if you make your app difficult to navigate, then they will lose interest fast. Speed- Fast loading screens Flexibility, with option to quickly change interface or add new features NIC: Mobile App Development Framework -6- Version 1.1, 10-Dec-2021

1.0

• • • • Security Easy Search options for content and services within the App Bright and bold colour schemes Push notifications to alert the user about action to be taken User feedback on every services by just tapping the screen mGovernance and Application Areas Providing services to different set of users in Government through mobile apps is also known as mGovernance. The mobile apps can be useful where services are provided to the citizens and they need to apply through a form and upload documents or photos. The form length is limited and status of submission and service delivery comes as an SMS or mobile notification in the App. The user doesn’t have to login repeatedly and remember the User Credentials/ Passwords. It can be used for location-based services like geo-tagging of Government assets, taking feedback, carrying out location-based inspections to ensure that it has been carried out on-location only. Mobile apps are also useful in providing all Government information, contacts, tourist, hospital, police, petrol stations, directions for emergency services, one click based SoS services, voice and face recognition-based services. 1.1 Objective With the Smart Mobile phones becoming the first choice of citizens in accessing any kind of resource on Internet, it is imperative that NIC, being the top solution provider for Government Services, provides mobile based G2C, G2B, G2G and G2E solutions. With this target, the District Governance Mobile Challenge was organised by NIC and all District officials participated in this challenge to develop at least one mobile application for their district requirements. Almost all District officers developed one functional mobile app and published it. It not only gave them an idea about mobile application development process and steps involved, but opened a new citizen service medium, MOBILE FIRST. The methodology adopted to start mobile application development at District level was to arrange a week’s online training, with hands on practice/ common code sharing. Resources from 4 Mobile Competency Centres (Chennai, Kannur, Patna and Shimla) imparted these trainings. Thereafter, the queries of District Officers were addressed by respective Mobile Competency Centres and State level teams were constituted for this Challenge to handhold and guide the officers. While many of the DIOs/ADIOs/DIAs developed very good mobile apps, still there is scope to further improve the quality and scope of the apps. To further strengthen the skill set and knowledge of NIC Officers, it has been suggested to focus more on Mobile Application Development due to the inherent advantages in providing various citizen services and wide mobile reach. NIC: Mobile App Development Framework -7- Version 1.1, 10-Dec-2021

•

The basic objective of this handbook is to enable the use of suitable technology or

framework as per different criteria and requirements so that NIC Officers in the field offices can quickly learn to develop mobile apps for various Government/ Citizens requirements. For anyone, starting mobile app development, this Handbook provides the complete set of requirements along with resources. As per Mobile App Development Life Cycle, the coverage includes the selection of development tools, wireframe, APIs, local database, security, publishing, re-usable code for specific requirements and App maintenance. 1.2 Mobile Device Types and Platforms There are two dominant platforms in the modern smartphone market. First is the iOS platform from Apple Inc. Secondly, the most popular Platform is Android from Google. The Android operating system is used not only by Google devices but also by many other OEMs to build their own smartphones and other smart devices whereas the iOS (iPhone Operating System) is restricted to only Apple manufactured smart phones/devices. The Apple phones are expensive as compared to Android based smart phones manufactured by different manufacturers. The Android uses different software development kits (SDKs) and different development toolchain. While Apple uses iOS exclusively for its own devices, Google makes Android available to other companies, provided they meet specific requirements such as including certain Google applications on the devices they ship. Developers can build apps for hundreds of millions of devices by targeting both of these platforms. Earlier there have been Blackberry and Windows OS for smart phones but their numbers declined over the years and hence, Apps are not specifically targeted for these platforms. Windows App, however, have a new Desktop category which works on a Desktop computer just as it would run on a smart phone. Presently, Android phones cover about 73% of world’s smart phone market and iOS (Apple) users are about 26%. However, the trend is different in Indian scenario where almost 95% Android smarts phones are in use with only 3.2% iOS users. Therefore, developing apps for the Android OS should be priority but due NIC: Mobile App Development Framework -8- Version 1.1, 10-Dec-2021

The basic objective of this handbook is to enable the use of suitable technology or

to increasing number of iOS users in India, as per trends, it would be advisable to

develop apps for both Android and iOS users. 1.3 Content Organization The content in this Handbook is organised on the basis of Mobile App Development Life Cycle. The focus is on Cross-platform development using Flutter framework and emphasis is on Flutter, Wireframes for UI/UX testing, APIs, App Security, Local Database, App Publication Guidelines, Maintenance and Reviews. The procedure to download Adobe XD for wireframe and Flutter Framework installation for development purposes has been covered in details. The Web API Communications, use of Flutter, Local Database creation using Flutter, re-usable code libraries for commonly required functionalities are included with examples. Mobile Application Security is covered briefly along with the link to complete guide available on https://digital.nic.in is also given. Testing, Publishing and Maintenance of apps with recent changes in Play/ App Store polices are covered in the end. Many NIC Officers, including those from Mobile Competency Centres, have contributed in the preparation of this eBook. The names of main contributors with photographs are included under Contributors section and contact address/ emails for MCC HoDs are given so that NIC officers may seek further guidance from them on any topic related to Mobile App Development. Important web reference links to sites providing useful information for app development is covered too. NIC: Mobile App Development Framework -9- Version 1.1, 10-Dec-2021

to increasing number of iOS users in India, as per trends, it would be advisable to



Flipbook Gallery

Magazines Gallery

Catalogs Gallery

Reports Gallery

Flyers Gallery

Portfolios Gallery

Art Gallery

Home


Fleepit Digital © 2021