Emerging and Trending Technologies to Watch
In this article, I discuss some of the interesting technologies to watch and explore in the coming future.
Join the DZone community and get the full member experience.
Join For FreeI had written an article a few years back on emerging and disruptive technologies.
In this article, I discuss some of the interesting technologies to watch and explore in the coming future.
HTTP/3
The rise of HTTP/1 is phenomenal. The entire communication around the web and the rise of digital as the most influential happening of the 21st century has been attributed to HTTP. Later HTTP/2 came to existence. The implementation of the 2.0 version took multiple areas where HTTP/1 was lacking especially around parallel processing, caching, and limitation of browsers running limited connections to process back-end requests.
All the modern browsers have adopted the standard of HTTP/2, but still, HTTP/1 is the most popular among all the implementers and adopters. Recently, the 3rd version of HTTP has begun production. While HTTP/2 had targeted to solve parallel connections from browsers using multiplexing, HTTP/3 has adopted a new general-purpose transport layer protocol named "QUIC" invented by Jim Roskind at Google.
Physical Web
While Google keeps on inventing and exploring technologies, the notion of making web another powerful tool in the world of mobile native applications is through the concept of "Physical Web" which modern browsers including Chrome are being adopted already.
In Physical Web, the web as a dumb channel became more powerful as it opens the option to connect physical devices through Bluetooth enabled beacons and notify data through "URL" (the best invention of the century to locate a resource on the web) to the web browser directly. This means the native applications need not be installed to show instant notifications often driven by beacon installed in the store or nearby location. The web is becoming even more powerful with this technology.
WebAssembly
While JavaScript has the only way to interact in a web browser, the technologists always look for other options. WebAssembly is a bi-product of that research, it brings low-level programming languages close to the web and makes these run within the browser adding an even more powerful proposition on how the web browsers can at its best.
In WebAssembly, the programs written in C, C++, or even a new language called "Rust" can be run beyond just JavaScript. The rise of JavaScript as a server through Node.js was phenomenal, but there is more to add on the web now. WebAssembly is the answer, it has huge potential to change the way web applications or embedded systems are built and interacting to perform heavy processing.
JAMStack
While many interesting abbreviations have stormed the IT for the last several years, some of those are LAMP, MEAN, MERN, SMACK, etc. Similarly, the new jargon named "JAMStack" changed the way web programming will be done. It consists of JavaScript, API, and Markup. This means powerful, performing, and low-cost web sites can be created using the power of JavaScript as the language along with API to process data to create the mark-up required to render the data in the browser.
There will be pre-rendering files served directly from CDN without needing a web server to process the data at the server-side, API will bring the data and JavaScript will process it to create the required mark-up data. There are static site generator tools like Jekyll or Gatsby which are becoming popular for web developers.
Java MicroProfile
While microservices are becoming fundamental standard to build decoupled and distributed architecture, Eclipse Foundation has gone to the next level to build and release a "micro" profile considering the core building block of any microservices architecture like service registry, application connectors, routing, logging, tracing, monitoring, fail-over especially.
While Springboot is the standard platform to build microservices in Java world, microprofile is also venturing into this area. This is releases under Apache License 2.0. The following companies are also contributing to this initiative actively.
Reactive Manifesto
While reactive programming is getting its peak and languages are adding this feature, Java also has built-in reactive support already. Previously RxJava was the framework used to build reactive applications in Java. In Spring 5, a reactive web framework is there already. Though Java's entry into reactive programming is a bit late frameworks and languages like Akka or Play have been built with this paradigm long back.
The reactive manifesto focuses on Reactive, Resilience, Elastic, Message Driven as 4 pillars of this standard proposition.
We believe that a coherent approach to systems architecture is needed, and we believe that all necessary aspects are already recognized individually: we want systems that are Responsive, Resilient, Elastic and Message Driven. We call these Reactive Systems.
Micro-Frontend
As microservices are getting standard for decoupled server-side architecture, micro-frontends are also becoming popular to build domain-driven front-end components. Each front-end component will have its development, technology, and deployment life cycle which will help to build cross-functional teams to build the UI layer more independently.
While micro frontends are creating avenues to build decoupled UI, there are other patterns like Backend for frontends (BFF) are supporting frameworks working with this. The BFF creates separate backend for each front-end which may need to support APIs for desktop web applications vs. mobile since the data requirements around these 2 channels can be different due to varied processors and network requirements.
Techniques, strategies and recipes for building a modern web app with multiple teams that can ship features independently.
Polygot Enterprise
As the technology is expanding every day, enterprises are moving out of the monolithic mind of technology landscape towards a more diverse space of platforms and languages. There is an increasing tendency to adopt a polygot state in technology, infrastructure.
While some organizations are focusing on a specific cloud like AWS or Azure or GCP, there are cases where organizations are considering a multi-cloud strategy. Google Antheos supports a multi-cloud environment to bring public and private clouds together. Polygot Persistency is already adopted in many organizations. While RDBMS or NoSQL are being used based on the need, there is a new breed of a database named "NewSQL" who is providing support for characteristics of OTLP (Online Transactional Processing) and OLAP (Online Analytical Processing) combined.
There is also a database like Firebase for real-time data processing, whereas time-series databases like InfluxDB or Prometheus are used for monitoring and operational use cases. In several organizations, multiple programming languages and models are also on the rise as distributed applications and microservices are being implemented.
Computer Vision 2.0
While machine learning is becoming mainstream for every organization and domain and the research on 5G is on advanced stage with the early introduction in China from companies like Huawei, Computer Vision aka CV will become the cornerstone for image, object, and facial authentication and recognition in many business use cases across industries.
Some of the prominent industries are Medical imaging, Travel, Payment, Surveillance, Automotive Safety, Retail, etc. It is not only images that can only be processed, but 5G will help to secure a high-bandwidth network to process data quickly and take decisions from there. The advancement of Edge Computing will also help to augment the use of CV as the data can be processed locally at the edge of the machines rather than sending data to cloud over the network which is in most cases become very costly and expensive tasks as well as may pose to a hindrance to process data in real-time.
Originally CV started during 1960, but it has been picked-up heavily in several digital technologies with the advancement of the machine and deep learning. Industries like Payment, Travel, Cyber-Security are already using CV hugely in their applications.
With CV coming in mainstream the identification of person will go beyond the standard authentication process, but there should be regulations and laws to protect consumer's data. The payment industry directives like PCI-DSS, PSD2 or European regulations like GDPR need special attention to ensure data collected through Computer Vision is not misused in any case.
Already mega enterprises like Amazon released Amazon Rekognition or Google has built Vision API to take Computer Vision as the SaaS platforms to end-consumers and businesses.
While MasterCard is working on a facial recognition system to validate its customers, Paytm the popular wallet application in India is also working on a prototype to perform facial recognition for its customers. The Hyderabad Airport in India has used this technology heavily for the online passenger boarding system minimizing physical presence for checking the passenger's data and profile.
DevSecOps
While cloud, containerization, and DevOps are active standards for build and deployment the security is becoming even more important in the secure delivery arena. The amalgamation of DevOps with Security aka DevSecOps means security is tested early in the cycle to find potential build time and run-time vulnerabilities.
The Static Application Security Testing (SAST) and Dynamic Application Security Testing (DAST) both are measures in build the life cycle before full-fledged application security through penetration or vulnerable testing is in place before the application goes to production. While SAST is focused on the source or binary code and execute without running the application code, DAST is performed with the running application by injecting vulnerabilities.
There are open source and commercial tools available in both SAST and DAST areas, some basic tests against OWASP 10 (Open Web Application Security Project) or CWE/25 (The Common Weakness Enumeration) can be checked using static code quality tools like SonarQube with its standard plug-ins also.
- Popular SAST tools: CheckMax, Fortify, SonarQube and FindSecBugs, Veracode.
- DAST tools: IBM Security, BurpSuite, Micro Focus, HP WebInspect, OWASP ZAP, Qualys.
- Application PEN test: Burp Suite, Approach.
- Open Source Scan: BlackDuck, Sonartype Nexus.
Fullstack Developers
While technologies are evolving from all directions be it front-end, back-end, DevOps, Testing, Operations there is immense opportunity to learn and explore across these areas. Here is a very detailed road map of the learning and exploration path for different developers in 2020.
Here are some interesting libraries and frameworks to watch also.
Opinions expressed by DZone contributors are their own.
Trending
-
Self-Management
-
UI Testing Tutorial: A Comprehensive Guide With Examples and Best Practices
-
SQL vs. NoSQL: Explained
-
How To Manage Vulnerabilities in Modern Cloud-Native Applications
Comments