This blog is a collection of technologies that I think are worth learning in next 5 years. I have tried to categorize them based on their usage and popularity. I have also tried to include technologies that are not very popular but are worth learning. I have also tried to include technologies that are not very popular but are worth learning.
-
React - React is a JavaScript library for building user interfaces. It is maintained by Facebook and a community of individual developers and companies. React can be used as a base in the development of single-page or mobile applications.
-
Angular - Angular is a TypeScript-based open-source front-end web application platform led by the Angular Team at Google and by a community of individuals and corporations.
-
Vue - Vue.js is an open-source JavaScript framework for building user interfaces and single-page applications. It was created by Evan You, and is maintained by him and the rest of the active core team members.
-
Svelte - Svelte is a new way to build web applications. It's a compiler that takes your declarative components and converts them into efficient JavaScript that surgically updates the DOM.
-
Web Components - Web Components are a set of web platform APIs that allow you to create new custom, reusable, encapsulated HTML tags to use in web pages and web apps.
-
WebAssembly - WebAssembly is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable target for compilation of high-level languages like C/C++/Rust, enabling deployment on the web for client and server applications.
-
Web Workers - Web Workers are a simple means for web content to run scripts in background threads. The worker thread can perform tasks without interfering with the user interface.
-
Node - Node.js is an open-source, cross-platform, JavaScript runtime environment that executes JavaScript code outside of a browser.
-
GraphQL - GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools.
-
Web Sockets - WebSocket is a computer communications protocol, providing full-duplex communication channels over a single TCP connection.
-
Web Workers - Web Workers are a simple means for web content to run scripts in background threads. The worker thread can perform tasks without interfering with the user interface.
-
Service Workers - Service workers are a web technology providing a programmable network proxy. They are intended to (amongst other things) enable the creation of effective offline experiences, intercepting network requests and taking appropriate action based on whether the network is available and updated assets reside on the server. They will also allow access to push notifications and background sync APIs.
-
WebRTC - WebRTC is a free, open project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.
-
WebVR - WebVR is an API that makes it possible to experience VR in your browser.
-
WebGPU - WebGPU is a new web standard for accessing a computer's graphics processing unit (GPU) from the web. It is designed to be a low-level, portable graphics API that can be used by web applications to render 3D graphics.
-
Docker - Docker is a set of platform as a service (PaaS) products that use OS-level virtualization to deliver software in packages called containers.
-
Kubernetes - Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications.
-
Helm - Helm is a tool for managing Kubernetes charts. Charts are packages of pre-configured Kubernetes resources.
-
Terraform - Terraform is an open-source infrastructure as code software tool created by HashiCorp. Users define and provide data center infrastructure using a declarative configuration language known as HashiCorp Configuration Language, or optionally JSON.
-
Ansible - Ansible is an open-source software provisioning, configuration management, and application-deployment tool enabling infrastructure as code.
-
Packer - Packer is a tool for creating identical machine images for multiple platforms from a single source configuration.
-
Vault - Vault is a tool for managing secrets. Secrets are any sensitive data that you want to tightly control access to, such as API keys, passwords, certificates, and more.
-
Nomad - Nomad is a tool for managing a cluster of Linux containers or Windows containers. Nomad is easy to operate and scale, and can run anywhere from laptops to large data centers.
-
Consul - Consul is a tool for discovering and configuring services in your infrastructure. It provides several key features, including a service catalog, health checking, and a KV store.
-
Vagrant - Vagrant is a tool for building and managing virtual machine environments in a single workflow.
-
Jenkins - Jenkins is an open source automation server. It helps to automate the non-human part of the software development process, with continuous integration and facilitating technical aspects of continuous delivery.
-
Drone - Drone is a Continuous Delivery platform built on Docker, written in Go.
-
Gitlab CI - GitLab CI/CD is a set of continuous integration and continuous delivery features included with GitLab that allows you to test, build, and deploy your code.
-
CircleCI - CircleCI is a continuous integration and continuous delivery platform. It helps software teams rapidly release code with confidence by automating the build, test, and deploy process.
-
Travis CI - Travis CI is a hosted, distributed continuous integration service used to build and test software projects hosted at GitHub.
-
AWS - Amazon Web Services (AWS) is a subsidiary of Amazon that provides on-demand cloud computing platforms and APIs to individuals, companies, and governments, on a metered pay-as-you-go basis.
-
GCP - Google Cloud Platform, offered by Google, is a suite of cloud computing services that runs on the same infrastructure that Google uses internally for its end-user products, such as Google Search, Gmail, file storage, and YouTube.
-
Azure - Microsoft Azure is a cloud computing service created by Microsoft for building, testing, deploying, and managing applications and services. It provides software as a service (SaaS), platform as a service (PaaS) and infrastructure as a service (IaaS) and supports many different programming languages, tools and frameworks, including both Microsoft-specific and third-party software and systems.
-
TensorFlow - TensorFlow is an end-to-end open source platform for machine learning. It has a comprehensive, flexible ecosystem of tools, libraries, and community resources that lets researchers push the state-of-the-art in ML and developers easily build and deploy ML-powered applications.
-
Keras - Keras is a high-level neural networks API, written in Python and capable of running on top of TensorFlow, CNTK, or Theano. It was developed with a focus on enabling fast experimentation. Being able to go from idea to result with the least possible delay is key to doing good research.
-
PyTorch - PyTorch is an open source machine learning library based on the Torch library, used for applications such as computer vision and natural language processing, primarily developed by Facebook's AI Research lab (FAIR).
-
Scikit-Learn - Scikit-learn is a free software machine learning library for the Python programming language. It features various classification, regression and clustering algorithms including support vector machines, random forests, gradient boosting, k-means and DBSCAN, and is designed to interoperate with the Python numerical and scientific libraries NumPy and SciPy.
-
Pandas - Pandas is a fast, powerful, flexible and easy to use open source data analysis and manipulation tool, built on top of the Python programming language.
-
Numpy - NumPy is the fundamental package for scientific computing with Python. It contains among other things: a powerful N-dimensional array object; sophisticated (broadcasting) functions; tools for integrating C/C++ and Fortran code; useful linear algebra, Fourier transform, and random number capabilities.
-
Matplotlib - Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python.
-
Seaborn - Seaborn is a Python data visualization library based on matplotlib. It provides a high-level interface for drawing attractive and informative statistical graphics.
-
Plotly - Plotly's Python graphing library makes interactive, publication-quality graphs. Examples of how to make line plots, scatter plots, area charts, bar charts, error bars, box plots, histograms, heatmaps, subplots, multiple-axes, polar charts, and bubble charts.
-
D3.js - D3.js is a JavaScript library for manipulating documents based on data. D3 helps you bring data to life using HTML, SVG, and CSS. D3's emphasis on web standards gives you the full capabilities of modern browsers without tying yourself to a proprietary framework, combining powerful visualization components and a data-driven approach to DOM manipulation.
-
Bokeh - Bokeh is a Python interactive visualization library that targets modern web browsers for presentation. Its goal is to provide elegant, concise construction of novel graphics in the style of D3.js, and to extend this capability with high-performance interactivity over very large or streaming datasets.
-
Scrapy - Scrapy is a free and open-source web-crawling framework written in Python. It was designed for ease of use, flexibility, and reliability.
-
NLTK - NLTK is a leading platform for building Python programs to work with human language data. It provides easy-to-use interfaces to over 50 corpora and lexical resources such as WordNet, along with a suite of text processing libraries for classification, tokenization, stemming, tagging, parsing, and semantic reasoning, wrappers for industrial-strength NLP libraries.
-
Flutter - Flutter is Google's UI toolkit for building beautiful, natively compiled applications for mobile, web, and desktop from a single codebase.
-
React Native - React Native is an open-source mobile application framework created by Facebook, Inc. It is used to develop applications for Android, Android TV, iOS, macOS, tvOS, Web, Windows and UWP by enabling developers to use React along with native platform capabilities.
-
NativeScript - NativeScript is an open source framework for building truly native mobile apps with Angular, TypeScript or JavaScript.
-
Ionic - Ionic is an open-source mobile UI toolkit for building high-quality, cross-platform native and progressive web apps with HTML, CSS, and JavaScript.
-
Cordova - Apache Cordova is a mobile application development framework originally created by Nitobi. It allows software code originally developed for web applications to be retrieved and run by the platform's native application framework.
-
PhoneGap - PhoneGap is a distribution of Cordova, a mobile application development framework originally created by Nitobi. It allows software code originally developed for web applications to be retrieved and run by the platform's native application framework.
-
Xamarin - Xamarin is a Microsoft-owned San Francisco, California-based software company created in May 2011 when the engineers that created Mono, Mono for Android and MonoTouch were acquired by Microsoft. Xamarin allows developers to use C# to write native iOS, Android, macOS, and Windows apps.
-
Electron - Electron is an open-source framework developed by GitHub for building cross-platform desktop applications with HTML, CSS, and JavaScript. Electron accomplishes this by combining Chromium and Node.js into a single runtime and apps can be packaged for Mac, Windows, and Linux.
-
NW.js - NW.js is an app runtime based on Chromium and node.js. You can write native apps in HTML and JavaScript with NW.js. It also lets you call Node.js modules directly from the DOM and enables a new way of writing native applications with all Web technologies.
-
React Native Desktop - React Native Desktop is a port of React Native to macOS and Windows. It is a fork of React Native, which is a framework for building native apps with React. It enables you to write native desktop apps in JavaScript and React.
-
NativeScript Desktop - NativeScript is an open source framework for building truly native mobile apps with Angular, TypeScript or JavaScript. NativeScript Desktop is a fork of NativeScript that enables you to write native desktop apps in JavaScript and Angular.
-
Ionic Desktop - Ionic is an open-source mobile UI toolkit for building high-quality, cross-platform native and progressive web apps with HTML, CSS, and JavaScript. Ionic Desktop is a fork of Ionic that enables you to write native desktop apps in JavaScript and Angular.
-
Cordova Desktop - Apache Cordova is a mobile application development framework originally created by Nitobi. It allows software code originally developed for web applications to be retrieved and run by the platform's native application framework. Cordova Desktop is a fork of Cordova that enables you to write native desktop apps in JavaScript and Angular.
-
PhoneGap Desktop - PhoneGap is a distribution of Cordova, a mobile application development framework originally created by Nitobi. It allows software code originally developed for web applications to be retrieved and run by the platform's native application framework. PhoneGap Desktop is a fork of PhoneGap that enables you to write native desktop apps in JavaScript and Angular.
-
Arduino - Arduino is an open-source electronics platform based on easy-to-use hardware and software. It's intended for anyone making interactive projects.
-
Raspberry Pi - The Raspberry Pi is a series of small single-board computers developed in the United Kingdom by the Raspberry Pi Foundation to promote the teaching of basic computer science in schools and in developing countries.
-
ESP32 - The ESP32 is a series of low-cost, low-power system on a chip microcontrollers with integrated Wi-Fi and dual-mode Bluetooth.
-
ESP8266 - The ESP8266 is a series of low-cost, low-power system on a chip microcontrollers with integrated Wi-Fi.
-
STM32 - The STM32 is a series of ARM Cortex-M based 32-bit microcontroller integrated circuits by STMicroelectronics.
-
Teensy - The Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects.
-
Intel Edison - The Intel Edison is a small form-factor computer produced by Intel based on the Intel Quark SoC X1000 application processor, introduced in 2013.
-
Intel Galileo - The Intel Galileo is a small form-factor computer produced by Intel based on the Intel Quark SoC X1000 application processor, introduced in 2013.
-
Intel Joule - The Intel Joule is a small form-factor computer produced by Intel based on the Intel Quark SoC X1000 application processor, introduced in 2013.
-
Intel NUC - The Intel NUC is a series of small form-factor barebone computer kits for an Intel Core processor series, introduced in 2012.
-
Intel Curie - The Intel Curie is a series of small form-factor barebone computer kits for an Intel Core processor series, introduced in 2012.