1.4 - Development Lifecycle for File-based Development
Overview:
As mentioned in the previous lesson, once project requirements and design stages are complete, the development lifecycle covers four main remaining stages:
Implementation (coding)
Testing
Deployment
Maintenance (updates)
These steps will be handled differently depending on whether you choose the CMS environment, or the file-based development environment. In most cases you will want to choose the new file-based development environment, as this will offer you much more flexibility.
Implementation (coding):
When using file-based development, all coding is done on your own development machine. This means you’re able to use your favourite development tools and environments.
Developer collaboration can be done via BlinkMobile’s hosted Gitlab, making it easier for development teams to work on the same project at once.
Your locally written code can also use any Javascript framework you wish for client side development, such as Angular or React, for example. Server side code can be written in Node.JS.
Testing:
One of the big benefits of a file-based development environment is as the developer you’re able to implement automated testing through your own test scripts. Ideally you should be able to run the majority of your project on your local machine, before deployment, using your favourite testing tools. This can really help development code quality and minimise regression.
Deployment:
Deployment is done in two parts - client side code, and server side code. Client side code can be deployed as a web app onto our Client CDN using the Client CLI tool. Server side code can be deployed with our Server CLI, lodging your Node.JS code into our highly-available, highly-scalable environment. This code will be accessible via an API URL that the Server CLI will return.
Moving a project from a dev environment to testing or UAT, and then production can be done by simply deploying your code base into the appropriate environment.
For projects delivered within a hybrid app, deployment can be done using the BlinkMobile Buildbots for new apps, and the evergreen function to update already existing apps.
Maintenance (updates):
Maintenance of a project is essentially handled through the same two steps above - a development environment can be edited when needed, then pushed into a test or UAT environment when ready, and then finally pushed into production.
The use of our hosted Gitlab service means development can be versioned, changes merged, and rolled back if necessary.
Hybrid app evergreen functionality will also allow you to push out changes to any deployed hybrid apps without needing to go through a full native app deployment process, as long as you haven’t changed any native requirements (which would require an app rebuild).
Next:
1.5 - Use of Microservices Together or Individually