In this thesis, a mobile application was developed based on web technology to demonstrate the power of flexible ability of the web platform. It is the chat application in which user can attend their chat room based on their currentlocation and communicate with people near them.
The good mobile application can be achieved with the web platform instead of developing the native application which will required more development and maintain time for the owner. A web developer can reuse their web technology knowledge to develop mobile application.
In terms of collecting data, both qualitative and quantitative research methods have been applied. In consideration of secondary research, desk research has been carried out. Desk research is among the most common method nowadays. It involves processing data that has been collected by another party (DJS Research Ltd, date of retrieval 07.12.2015). In the scope of this thesis, multiple technological documentations have been consulted by the author in order to support his process of developing the application.
In consideration of styling for the web, CSS treats every element as they were in a box. The border separates the edge of one box from other surrounding boxes. The margin defines the distance between the border of a box and the box next to it. Padding is the space between the content of the box and its border. CSS is used to control the border, margin and padding on each side of a box along with all properties paired with them.
Margin and padding are the two most important properties in creating the “white space” as designers refer to–the space between varieties of parts of the page (Duckett, Jon 2013,232). For example, when both the border and the text (elements) are in black colour, the padding is in need of using to avoid the text touching the border and overlapping each other. There is one special feature in terms of margin. When a bottom margin of one element meets the top margin of another, only the larger of the two is showed (Duckett 2013,233).
Ionic is hybrid mobile framework that built on top of Cordova and AngularJS. The goals of Ionic is providing the mobile framework for web developers so that they can develop mobile application easily using web technology. In addition, it included a lot of components to bridge the gap between native application and hybrid application running on different mobile platform such as UI components ( navigation bar, notification system…). Moreover, the framework also provides the build process for Android and iOS with their Ionic Package service.
DESIGN AND SYSTEM REQUIREMENTS
This application is going to implementation the general functionalities of chat application and special one is searching all users based on their locations to join the chat room, each chat room will have to specify the radiation of user location from the place it was created and all the users inside that chat room can join the conversation.
The database has 4 main keys at level 1, each of these containing the array of the room information related the key. The roomID is the unique key which is generated by Fire base to ensure the uniqueness of the key. The data is being divided into smaller section, this design can improve the speed of querying our database.
With the application the client is now can ask users and investors to review the idea. Experiences has been built up during the time developing application with Ionic and AngularJS framework. Ionic has been proven that it is a sufficient framework, which can provide necessary components needed for most of development time. Developing a mobile application with web technologies that can have the same features sets like native application is doable task. Even though, Ionic at the time developing the application has not been reached 1.0 version, its apis has changed frequently which created a broken application several times. Therefore, managing and self-constructed source code for building software application is the important part of soft ware developer in project.
Developer should always use package control system as well as version control system to maintain it compatibility with all the dependencies. Firebase has helped shorten time for developing sever to serve as the backend for application. However, not all the backend operations can be done without the application backend such as indexing all the messages for searching and querying. For improving the performance and feature sets of the application is required in the next step to develop the backend to serve the application. Finally, in the end of the project all the main requirements at the be ginning are met and the processes for developing mobile application are explained in structured order. However, the development procedure has be en missing writing unit tests to ensure the application logic‘s layer work properly.
Source: Oulu University
Author: Nguyen Thong