top of page

Tags

Archive

Significant Change in the Application Development

Writer's picture: SatyaSatya


In this Post, I wanted to write my thoughts and Observations on how the Significant change happening in the Application development Approach in the recent years. Most of the business are thinking about below massive transformation approaches. I firmly believe that these methodologies, approaches, frameworks, and tools must be incorporated into application development strategies in order to meet client needs and make the transformation a reality.


 

Build Cloud native Applications. REST-based and modern lightweight web applications. Create serverless functions and cloud native microservices at enterprise scale.


 


  • Cloud First Approach --> Microservices

--> Container-native architectures

  • Mobile First Approach --> Mobile and Chatbot

--> API Management

  • Continuous delivery --> CI/CD DevOps

--> Community/Developer Driven


 


Development strategies for modern applications include

  • Cloud Native

  • Visual/Low Code

  • Mobile and chatbots

  • Enhance and modernize existing applications

These new technological advancements are speeding up this shift.


  • Polyglot Languages Microservices and Serverless Architectures

  • Containers and Orchestrators

  • CI/CD and DevOps Tools

  • Open-Source Software

  • Mobile, Chatbots, Blockchain, IOT


 

CICD for Apps

  • Version Management -GIT

  • Build Automation -/Maven/Hudson/Gradle/Jenkins/npm/Grunt/Bower/Gulp/SQLcl/PSM/Shell

  • Test Automation -Selenium/Junit,Findbugs/Sonar --etc..

  • DOCKER


 

Frameworks like


  • Angular

  • Springboot

  • React

  • OSS

  • JavaEE

  • Dropwizard

  • Netflix etc..


 

Ployglot 12 Factor Apps/container cloud


  • node/

  • python/

  • javaee/

  • php/

  • ruby/

  • Go..etc


 

  • Functions

--------->> Container Engine

  • Microservices

 

API/Management

  • Design/Governance

  • APIGEE/APIARY ..etc..

 

I'll now define a few key methodologies and tools.


Dev Ops :


A sort of agile collaboration between development and IT operations is referred to as enterprise software development. Devops promotes improved communication and teamwork between the two business groups in order to alter and improve the connection. Automating everything is one of the main tenants.


Docker:


An open-source technology called Docker makes it possible to put a Linux application and all of its dependencies inside a container. Applications are isolated from one another on a shared operating system using container-based virtualization.


GIT/GITHUB.


Software development and other version control operations are performed using the version control system (VCS) known as Git/GIT Hub.

As a distributed revision control system, its goals include supporting dispersed, non-linear processes, speed, and data integrity.

Git Hub is a web-based service that hosts GIT repositories. It incorporates its own features together with all of GIT's distributed version control and source code management capabilities.


Gradel (Ant, Maven) :


Build automation with Gradle (Ant, Maven). The following development in jvm-based build tools is Gradle. It builds on lessons learned from well-known tools like ANT and Maven and advances their best concepts.


Agile:


The Agile Method is a specific project management methodology used in the software development industry. This Approach helps teams adapt to the unpredictability of software development. It employs sprints, which are incremental, iterative work sequences.


APaaS:


Application platform as a service is a cloud service that provides application server deployment and development.


API-First :


An approach where the first step is to create an API that will appeal to your target developers, then construct the product—be it a website, mobile app, or SaaS software—on top of it. You and your developers can save a tone of time by building on top of APIs with developers in mind while also setting the groundwork for others.


Continues Delivery (CD) :


an approach to software engineering where teams build software in quick bursts, guaranteeing that the software may be dependably provided whenever needed. It seeks to create, test, and release software more quickly and frequently.


Continuous Integration(CI):


a method of development that necessitates developers integrating code into a repository on a regular basis. After that, an automatic build verifies each check-in, enabling teams to identify issues early on.


Selenium/Arquillian- Testing tool for Continues Integration

Development life cycle with CI/CD :


Plan>Code>Build>Test>Release>Deploy>Operate>Monitor


CaaS :

Containers-As-Service is a form of container-based virtualization in which container engines, orchestration and the underlying compute resources are delivered to users as a service


Visual App Development :


The process of creating new apps visually with just a few clicks — not coding

This enables visual drag and drop development, which frees up developers to concentrate on business logic and components rather than code.

It is frequently used to create chatbot, mobile, and web applications. and it is utilized to enhance/expand current SaaS apps.


Serverless:


In serverless computing, you only pay for the services you really use. The cloud provider oversees the allocation of machine resources in a dynamic manner, and price is determined by how many resources are actually used by an application.



REST:


Web services are frequently developed using the architectural style and communication methodology known as REST (Representational State Transfer).

Because of its minimal weight and agility, it is typically preferred over SOA/Web services for cloud and mobile based development.


Polygot:


A polyglot in computing is a computer programme or script written in a valid form of several different programming languages that produces the same results regardless of the language used to compile or interpret it. Node.js, Ruby, and Python are a few examples of languages.


PaaS

Without the hassle of creating and maintaining the infrastructure that is generally involved in developing and launching an application, a platform as a service offers a platform that clients can use to develop, run, and manage applications.


InfraStructure as Code:


controlling and provisioning computing infrastructure (processes, bare-metal servers, virtual servers, etc.) and their configuration through machine-processable definition files rather than through the physical configuration of hardware or the use of interactive configuration tools.

Important Linux configuration management technologies include Chef and Puppet. In addition to being a configuration management tool, Chef is also one of the most well-known Infrastructure as Code (IAC) tools available, along with Puppet, Ansible, and Otter.


IDE:

An environment for programming on a desktop (e.g. Eclipse, NetBeans, Jdeveloper). Web-based development environments, which don't require any desktop software beyond browsers, are gradually replacing these.


JAR/EAR/WAR

Depending on their functionality, modules in J2EE applications are packaged as EAR, JAR, and WAR files.

JAR: EJB modules which contain enterprise java beans (class files) and EJB deployment descriptor are packed as JAR files with .jar extension

WAR: Web modules which contain Servlet class files, JSP Files, supporting files, GIF and HTML files are packaged as JAR file with .war (web archive) extension

EAR: All above files (.jar and .war) are packaged as JAR file with .ear (enterprise archive) extension and deployed into Application Server.


Oracle JET :


a full-featured, modular JavaScript development toolkit that aids programmers in creating attractive user interfaces (completely client-side). based on the open source libraries jQuery, Knockout, RequireJS, and Cordova.


Low Code :


a system that allows for the quick supply of business applications with the least amount of hand coding and the least amount of setup, training, and deployment costs.


MBaaS:


Mobile backend as a service, which may also include features like user management, push notifications, and integration with social networking services, gives web application and mobile application developers a way to connect their applications to backend cloud storage and APIs exposed by back-end applications.


Microservices:


A method of developing applications where a huge application is constructed as a group of modular services. Each module supports a particular business objective and communicates with other modules via a clear, straightforward interface.

I hope this helps you gain some understanding of modern development strategies. Happy Education


28 views0 comments

Recent Posts

See All

Comments


Other Posts you may Interested 

Subscribe Form

  • facebook
  • linkedin
bottom of page