The only stable thing about web development is that it’s everywhere. With 1,73 billion sites currently online, it’s become risky for a business not to have one. However, every other aspect of this field is changing rapidly, and no one team can stay competitive without updating on the latest tendencies. Even the evergreen skills need brushing up, and new possibilities are opening all the time. Here are the top 12 (and a half) web technologies anyone involved in the industry should be at least aware of in 2020.
Knowing about the technologies underlying the web is useful not only for the developers, but for management and HR, as well. As a customer, it is also a sensible idea to look at what actual capacities the teams you contract dispose of, and what that means for the deliverable you get.
Before we look at the actual list of the most promising technologies, here’s a bird’s eye view of the “landscape”.
At the same time, the demands for higher performance drive back end to rethink what technologies to use, and a successful web application is now almost always integrated in some way with other software, making the ability to handle APIs more important than ever.
Businesses, on the other hand, want to ensure the end product is delivered faster, so the battle of various frameworks and preprocessors goes on…
The website development technology toolkit: list
Here are the top 12 web skills that will be important in web development in 2020. Most of these technologies have already existed for some time, but are constantly developing. This web technologies list features twelve and a half points because, well… The last one is not really a technology, but closely related – and fundamental as a skill.
This may seem a bold guess to put Flutter on this list, as this software development toolkit is currently associated with cross-platform app development. The basic idea behind this Google creation is building UI from widgets into mobile apps with native look and feel. While the principal benefit for now is not having to build the same app for Android and then for iOS, there are other benefits like “hot reload” and high performance. But Flutter also has web support, which means Flutter-created content can be embedded on top of browser APIs, while web content can be featured in Flutter apps. Where this evolution will lead is hard to predict, but things are getting intriguing.
Due to its origins as a lightweight scripting language, JS has traditionally puzzled and even disgusted programmers used to working with more OOP languages like C# (and it still does, actually) – but for the several past years, it has evolved past that stage in many ways. The new ES2020 standard will also provide a number of features that make it more robust: private fields inside a class, big integer-representing object (BigInt), and so on. In practice, this means that JS is getting a broader scope of applications – and at the same time it’s relieved of its long-time duty of providing simple interactive visual effects. Nowadays, we don’t write scripts to create a hover effect, do we?
- Typescript – many a professional’s choice, and very widely used – mainly because this “cleaner”, stricter variety allows to produce more readable and manageable code.
#4 Game of JS frameworks: Angular, React, Vue.js
The truth is, each framework has its own benefits:
- Angular.js by Google has two-way data binding (making it easier to update the DOM), good performance, clean TypeScript-based code. Netflix’s front end (as well as that of Upwork and Wikiwand) are built with Angular, and apps like PayPal also use it.
- React.js, first used in Facebook news feed, offers good maintainability, faster rendering, lightweight DOM and SEO-friendliness.
- Vue.js, created in response to Angular, has smaller size, is extremely flexible, and generally good to integrate components into an existing system (which is good for reworks).
#5 PHP / WordPress OR Python + Django
Back to the server-side technologies… As of now, the choice is mostly between the traditional PHP, the much-hyped Python, and Ruby (with Java and .NET, for some). The discussion is still generally about whether PHP is dead now and Python should take its place, while Ruby pretty much stays undisputed, and even occupies a separate point in this list.
- PHP has long been THE web development back-end language since 1994, was originally designed for that, and has evolved into its current standard, PHP7. As a well-established language, PHP is a safe bet, and also stands behind the WordPress platform and its WYSIWYG editors that many companies use for administering their websites.
- Python, on the other hand, is a newcomer that has an even broader scope of possibilities, and has become famous for its use in Machine Learning and AI. It can be used for web development, as well, with the help of Django framework. It’s a very good choice, mostly because of its extreme readability (read: clean code), fewer mistakes and lower development costs as a result. Sites like Instagram, Uber and Netflix were built with Python.
With PHP7, pages could be up to 3x faster, though. The choice depends on many factors here.
#6 Golang and Swift (chasing the speed)
These two are general-purpose programming languages designed at Google and Apple, correspondingly. What they have in common is the focus on higher speed and efficiency – as well as a little controversial reception in the community.
- Golang (or simply Go) is a compiled language with structural typing and native support for a number of important tools (thus not relying on large libraries and frameworks as much as other languages may). Some developers, though, feel irritated it’s not object-oriented in the conventional sense, and does not run on nginx / apache.
- Swift, created at Apple to write iOS, macOS and Linux apps, is technically still not a popular choice as a web development language. However, as it offers good readability, easy code maintenance and allows for fast development, it is likely to cross to the web sometime in 2020. Frameworks like Vapor have already started appearing.
Java is one of the “classic” object-oriented languages, and is now used both for creating Android and desktop apps. Java is mostly popular for server side purposes, and although only about 3.7% websites are undoubtedly written in it, the language is often chosen for high-traffic websites. Frameworks like Spring and GWT exist to enable web development in Java, and the list of its advantages in the developers’ eyes is quite extensive.
#8 Ruby on Rails
The old hero of back end, the Ruby language and the Ruby on Rails framework used with it, are still there. Even though each year there are blog posts claiming RoR “is dead,” it just stays to live another year, and then another. One of the reasons is, the technology is reliable, proven by time and experience. RoR is perfect for implementing complicated business logic, and makes development really fast. It is used in eCommerce sites such as Spotify, as well as in many web applications.
#9 Databases and SQL / NoSQL
Working with databases will hardly ever be unnecessary. The most popular databases are Oracle, MySQL, SQL Server, and Postgres, as well as MongoDB. All but the last one are SQL, which means they are handled using the Structured Query Language, representing data as tables with predefined schema. NoSQL, as in MongoDB, is document-oriented.
#10 APIs, Web Services
These are truly the things that make the web go round, making interaction between applications possible. Without developers who are good at working with APIs and web services, all of us would still have to manually browse websites instead of, say, visiting Booking.com in search of accommodation.
- APIs – the Application Programming Interfaces – are the means of communication between apps, where you can use some of the other app’s functionality without having to do anything with its inner code. For example, Facebook API allow an app to interact with Facebook.
- Web Services – commonly confused with APIs, these are, in fact, software systems used by applications online, mostly using the SOAP protocol.
The current concern is to make API management compatible with different platforms. Of all the related technologies, RESTful and GraphQL are notable. Among the most probable top requested skills are the ability to work with streaming, asynchronous requests – as well as tech that allows to integrate ML capacities with the application.
#11 New HTML features
Coding in HTML is a bit like playing the guitar: elementary knowledge is relatively easy to acquire, but proficiency is trickier. Anyone could create a page with several paragraphs and a headline after an hour’s training. However, the standard is constantly being updated, and a good HTML developer is aware of its newest features and possibilities, including semantic tags, working with <canvas> elements, and so on.
#12 Modern CSS, Sass, LESS (and fine details on browsers)
By definition, Cascading Style Sheets, as a web technology, defines the way information is represented visually. While handling colors and paddings may sound unsophisticated, there are things that call for a professional specialized in CSS.
The classical “eternal” problem that CSS is called to tackle is layout, especially how elements should be rearranged on different screens. CSS has seen an evolution of tools to manage this, from float to flex to grid, and maybe 2020 will see several new ways to approach this.
It’s well known that not all CSS3 properties are equally supported by all browsers: Chrome and Safari may be fine with some things, while IE may not. Whole resources are dedicated to this question, and knowing CSS is, in practice, having to deal carefully with browser compatibilities.
There are a number of technologies used to enhance CSS and sidestep common issues:
- Preprocessors like Sass and LESS that are used to create cleaner CSS code;
- Bootstrap and other frameworks.
#12½ UX & prototyping tools
While it may look a bit odd to have UX tools here, alongside programming languages and frameworks, it’s still justified. Good user experience can boost website conversion rates up to 400%, so investing in it is a sensible thing or businesses. On the technical/workflow side, fixing a problem at the development stage costs 10x as much as it would while still in design. This makes prototyping increasingly important. The current market offers several prominent prototyping tools, including Adobe XD, Sketch, or UXPin.
It is unlikely ever to find a single full-stack specialist who’s proficient in all of these web development technologies. Besides, why should you? Web programming is getting more and more differentiated, and that’s a good thing. On the other hand, it’s becoming more connected, as well, as everyone involved is expected to collaborate in cross-functional teams. Identifying the necessary set of technologies and then locating the professionals specialized in them is the key to a successful web project.