Ten years ago, the web was viewed as a required tool to share basic information related to businesses, products, and services. No one imagined that the very foundational elements of the web would become the ubiquitous language for building and delivering applications that are found everywhere now (all devices and all screens).
Today, the web has become the primary vehicle to deliver easy-to-use interfaces (be it consumer apps or enterprise apps). It’s so widespread that the vast majority of natively deployed apps (on both mobile and desktop) are now being built with web technologies.
With the modern web, developers need to stay current on the evolution of web technologies in order to be successful with their projects. In this article, I’ll cover 7 things that all modern-day web developers should know or learn to stay competitive in the new world of web development.
ECMAScript (ES2015, ES6, ES7, ES2016)
The latest standard that all browsers use today is ECMAScript 5 (or ES5), published in 2009. ES2015 (often referred as ES6) is the newest version of the ECMAScript standard, which has been implemented in most browsers. The new features of ES2015 enable coding paradigms such as modules to better organize code, classes to cleanly declare reusable units of functionality, and much more. You can read the full list of ES2015 features. Because not every browser fully supports ES2015 yet, developers may need to use a transpiler such as Babel, to compile code back to ES5 and ensure compatibility with their target browsers.
Progressive Web Apps
Users can easily find web applications on the internet, and every user is guaranteed access to the latest version. However, web apps still have failed to meet the expectations set by native apps. Features such as push notifications and offline availability still keep mobile users leaning toward native apps. Nonetheless, there is a new option that may shift this preference. Progressive Web Applications (PWAs) bring the mobile web experience closer to a native app experience.
The term PWA was coined by Google in 2015 for web applications that provide an enhanced web experience with the use of service workers for offline capabilities or availability on low-quality networks. Thanks to the service worker update process, PWAs are always up to date. The PWA manifest and service worker registration scope make them discoverable, so search engines can easily find them. PWAs use features like push notifications, and even allow users to install them on their home screen without the hassle of finding them in app stores. All of these features have been implemented in popular browsers including Chrome, Firefox, and Edge, though Safari is lagging in the implementation of PWA features.
Historically, one of the greatest challenges in any software development project (let alone web development) has been the lack of consistency in development environments, as developers move their code through the development, testing, and production infrastructures. Containers are the new way to manage and replicate environments with all of the application dependencies and resource requirements in a highly consistent and scalable way. Containers help easily package all of the application code, configurations, dependencies, and more to allow quick and easy deployment, regardless of the environment. While Docker, Kubernetes, and Mesos are leading the charge in container technologies, Microsoft, Google, Amazon, and everybody else have service offerings because it minimizes the cost of setting up the environments and infrastructure.
Git (Version Control)
The use of version control is not new to software development. Version control systems track changes to code, so if something gets messed up a developer can easily roll back to a working copy. Git has become the most popular version control management system today. Knowing how to use Git is a must for any app development project, especially web development.
Responsive and Adaptive Designs
Today, more users access the web from mobile devices than desktops. The mobile and desktop form factors are inherently different, not just in terms of size, but also in terms of default orientation (landscape vs. portrait). Before mobile, developers built interfaces that scaled based on the screen size of the user’s monitor (be it desktop or laptop). But now, developers need radically different application designs, because the UX for desktop and mobile is not interchangeable. Though not really a development skill, knowledge of responsive and adaptive design paradigms are now a must for developers because they provide strategies and templates for creating the optimal user experience based on the various form factors.