I remember when I started web development, websites used to be very limited and boring, then comes AJAX which kinda helped a lot to web in terms of making it light weight and faster. Back then it was all about dynamic websites or web applications.
Now its not just about dynamic interactive websites, there are 10s of different types of web applications, you ought to know to claim yourself a web specialist. I am going to mention some of them below just to introduce with them:
Accelerated Mobile Pages (AMP)
There is no magic, AMP simply pushed by search engine cache instead of hosting server. But for that web pages has to follow AMP specifications:
When you ‘ll be developing such search engine friendly web pages, its obvious, it just doesn’t improve performance but also bounce rate and search engine rank in SERP results.
Using google webmaster tools, you need to verify and activate your website for AMP. It’s already widely adopted technology, according to google already 1.5 billion AMP published. Top websites like ebay, medium, wordpress, Twitter, LinkedIn and many more…
Static Websites Generator
This approach is for a very specific domain, you can’t just start thinking of generating every kind of application with this. Like generating blogs based website would be very handy considering it will be super SEO friendly, not going to get contents from any server so no latency time.
There are very good tools like Jekyll, Hugo, Hexo, and Middleman which helps you achieve good static SEO friendly websites.
In SPA normally index.html (landing page html) is an empty page which is dynamically populated with DOM elements on runtime but if you combine that with SPA application, you can generate SEO friendly web applications.
Independent Custom Web Components
We all build web components in our applications now but when you look at them they are specific to a framework based like if building component in Angular or React: they are compatible with those frameworks or library respectively.
Here I am talking about, an independent component which is compatible with multiple js library/framework.
Stencilljs is very popular, i personally liked it considering its compact, future-proof and alleged zero configuration based and more than anything also pollyfills based.
Progressive Web Applications (PWA)
For your ease you can relate it to hybrid applications, A web application which can behave like native application. Following are few features which distinguish them with others
- Install-able (without needing App stores)
- Works Offline (no wifi/data, shouldn’t be problem)
- Splash screen
- Push notification
- SEO friendly (your application is indexed in search engines)
- Background synchronization
You can use even C++ libraries to build Progressive web applications (library), Microsoft introduced Blazer, which is still a experimental release yet, but you can imagine this technology is not a buzzword.
Single Page Architecture (SPA)
As name implies, its more like a architecture of the application, it means you build an application in a way, for different pages browser doesn’t has to navigate to different pages and reload resources (js/css files) for each page. Instead JS/CSS bundles loaded when application loads first time and other pages gets loaded along with their needed resources (lazy loading or on demand loading).
It’s not something new but still being adopted widely. Many framework and libraries helps to build this architecture based applications: Angular, React, Vue and many more…very very hot questions now a days is Angular vs React vs Vue so following is some chart which gives good idea
Chatbots for Online support
Online customer support is very pivotal for any organization. Good online customer support means happy customers. Building AI/ML-based chatbots are not very hard to build considering 1000s of open source libraries and SDKs.
My favorite language for AI/ML-based work is Python due to its amazing supported libraries and Jupyter Nootbook is my new love. If you wanted to dive into AI/ML, I would recommend you Python and Jupyter technologies. Both Amazon and Azure provide Jupyter notebooks
Integrating to existing open source chatbots is amazingly simple and worth it.
Best suited for IO and network intensive applications like scale-able web services but on the other hand I feel not very suitable for CPU intensive applications like image processing, rendering. Nodejs is by default non blocking asynchronous runtime environment.
P.S: Just wanted to add if you are very conscious about performance consider GoLang as well.
There are so many tools and technologies coming up, i usually avoid buzz words but aforementioned ones are not buzzwords, on the contrary they are being widely adopted technologies and being backed by computer technology giants like google, facebook or such.
Knowing aforementioned technologies help you decide what suits best to your needs.
Happy webbing ;