Architecture and mobile applications
The development of mobile applications consists of two differentiated parts of software code, these are the front-end part and the web services part.
The front-end part, also called the client part, is the part of the visualization and interaction logic of the user which is executed in the devices through its operating system, Android or iOS. The development of native mobile applications will be programmed in Objective-C and / or Swift language for iOS apps and in Java code (Kootlin in brief) for Android apps.
The part web services, or part server, is where we find the business logic of the applications, persistence of data and interaction with other platforms, such as a web or a CRM. This part therefore must be developed with a language like RoR or Php.
So any mobile application with its own BBDD and web services requires a server, either its own server, dedicated server, shared server or cloud server.
So in any mobile application development project the company must take into account that for the app to work you must hire a hosting and server service adapted to your project.
As we have seen, hiring a hosting or server space is imperative, but also may be essential or necessary other services, that we must assess if they are necessary as well as ask for their hiring to the systems company.
- Backup system. Backups at different times and stored on servers totally independent of those of production. (Usually included if a 24x7 maintenance service has been contracted).
- Maintenance service 24x7 system equipment.
- Domains. At least you need a domain. Depending on the project, you may require more or already have the domain in question.
- SSL security certificates (https). Essential in projects where passwords and user data are used.
The final part of mobile application development is to publish apps publicly in Google's marketplaces of Apple.
To do this you must enjoy:
- Google Play account. Licensing to publish Android apps. (25 € / year aprox)
- Apple Store account. License to publish iOS apps. (100 € / year approx or 300 € / year for Enterprise Account - this way you can publish private apps without tenet to go through the Store-).
CodiTramuntana has accounts in both markets and can publish the apps developed in their markets as the publication of the apps in the accounts of our customers.
Architecture during the mobile application development phase
During the development phase and also to implement maintenance it is advisable to have a good architecture to be able to validate the new functions in parallel with the public project.
Working with a good environment, such as the agile environment, is important and of great value for projects with ambition to grow and evolve.
The proposal of CodiTramuntana, or the way of work with which we work in the development of mobile applications is the following:
- Integration server: local environment, exclusive for developers. CodiTramuntana has contracted the service and its respective backup copies.
- Pre-production server: Environment so the customer can test. With a "false" or parallel database. This environment must be the closest to the production environment to accurately simulate production behavior. It is the client who hires this server.
- Production server: public site, public web, public back-office. It is the client who hires this server and its backup copies.
In all cases CodiTramuntana will indicate the minimum technical characteristics that must be met by the servers to serve the client's project.