Architecture of Mobile App Development 1
Mobile applications need a lot of user interaction compared to its desktop counterpart, typically waiting for an action from the user before responding to the user with an updated UI showing the requested information. These are the common share software design principles as desktop application development. However, the lifecycle management process that differs from desktop applications. One critical difference, however, is that are often written specifically to take advantage of the unique features a particular mobile device offers.
We are going to discuss a software pattern that focusses on the interactive aspects of mobile applications also a lot of general high-level decomposition pattern and discuss their uses. Mobile application development is similar to Web application development and has its roots in more traditional software development.
Most important features of a mobile architecture
Scalability – A Mobile Architecture should be able to be used with all recovery requirements on both large and small scale.
Reliable – Reliability is always important in all technologies and mobile architecture is no different.
Secure – Encryption is important and transmission protocols must support encryption (SSL) via secure transit such as HTTPS.
The main hardware components of the mobile phone is the application processor that controls all other components of the device such as display, keypad, power, audio , video etc. The basic and detail architecture of the Mobile device consists of Hardware and Software system design.
The Model View Controller (MVC) pattern is a very popular approach for the development of a application. We observe that the most mobile application uses core operation to retrieve data from data storage and update the user interface within the newly requested information based on the user inputs. The logical sense is to tie the user interface components with the data store components. However, since the user interface components are updated regularly to accommodate the changing user requirements and new technologies more than the data store components and we introduce extra coupling in our system. The aim of this pattern is to separate the components are:-
1- core functionality and data (Model)
2- user interface (View)
3- the response to user inputs (Controller)
Architectural choices for mobile application development is rapidly evolving. Selecting the correct choice for your organisation can impact your mobile application within the following ways:-
The main components of MVC:-
Service – allow tasks to be executed in background threads such as networking operations without affecting UI components.
Content Provider – enable data to be stored within the application with the use of SQL database or Shared Preferences and data stored in an XML file on the device.
Broadcast Receiver – responds to announcements from the system such as low battery warning and provides notifications to the user.
Activity – represents a single user interface class. Activities are usually packaged together to form the UI components of the application.