Recently i was researching about the shortcomings of automation testing using Selenium, can anyone please guide me onto it.
There are 100 above framework which supported by selenium. Here i am sharing my concern on few of them which are most popular in the market.
They provide you with an predefined environment and let you code. The declarative view makes the coding predictable hence the code becomes easy to debug. Using React will push you to make your own framework. Pairing it with Next.js will smoothen things on the server side and all the heavy lifting will be done on the back-end.
React stack usually includes Redux, React.route, React.saga and Node.js. Myntra too exploits react although they only use parts of it because such website have minimal interaction between sibling components. React has a high rendering performance when there is complicated component change with frequent UI changes. They prefer preact because its smaller and provides them greater speed. Ebay on the other hand spice things up by adding Angular and Ember along with the preact library. That seems to be the trend in modern e-commerce websites.
Npm is a trustworthy package manager. Earlier npm had too many issues as the packages were scattered, Yarn was introduced as directory for npm. It is a godsend for developers, npm has vast community support and npm too has become faster and almost equal to yarn in terms of package management. React and Redux come handy while handling the packages.
Angular is more of a framework rather than library because it tells you how your code must be written. Build tools in angular are complex to understand too. Almost everyone agrees that Angular is bloated as its size is about 150 kb gzipped. Unlike the virtual DOM of React and Vue they have fully fledged DOM that makes it hectic and bloated. Virtual DOM is a new concept that has just started gaining ground but it is fast as now only changes have to be pushed. Apart from this the syntax and libraries require due research and discipline in Angular.
Vue is simply the best of both worlds, meaning it lies somewhere between the dictatorship of Angular and democratic chaos of React. This young JS framework has gained some serious popularity without having been associated or backed by any giant. The framework is used by Alibaba, Nintendo and Gitlab. A team of 16 people made Vue into a very simple yet efficient JS framework.
Vue makes use of the latest tech trends and inculcates within it without complicating the whole project. Combining Vue 2.0 with server side rendering (SSR), Vuex and a GraphQL client like Apollo that you end up with super light, fast and robust application while providing a great user and developer experience too.
Google introduced polymer to empower the developers to fully take advantage of the latest web technologies. Youtube has renovated it gaming stream using Polymer, it is indeed very fast. The most notable feature in Polymer is the ability to reuse custom elements to interoperate with a browser’s built-in elements. Polymer.dom was released with an intent to enable the developers of the DOM manipulation which paved the way for new libraries and frameworks to be used with it.
Version 2 of Polymer also include data system improvements resulting in easier debugging and making it easier for the data flow between elements. If you deal with array handling a lot then polymer is quite a magician. Polymer version 3 soon to be out has left bower and moved to npm for version management. Polymer App Toolbox helps you build and deliver cutting-edge Progressive Web Apps with minimal overhead and payload, by leveraging powerful web platform features like Web Components, Service Worker and HTTP/2.
The Toolbox provides a component-based architecture, responsive layouts, a modular router, localization support, turnkey support for local storage and offline caching, and efficient delivery of unbundled app resources. Adopt these features individually, or use them together to build a full-featured Progressive Web App.
Most of the people are afraid of using React mainly because of its size and performance. Preact was introduced mainly due to the following reasons, and it is amazing how easily you can swap your react with the preact counterparts. Preact is known to have quite a reputation in enhancing the performance of mobile web applications. Changing React & React DOM with Preact-compat paired with Webpack and boom all your worries go out of the window.
Using preact will reduce your main app bundle by at least one third (may vary depending on app), the only catch being that testing gets complicated. The alternative to this maybe using react for development and preact for production. Enzyme which is used in react is preact-compat integrable. Lyft and Uber used preact and it improved the performance because it is simply faster and smaller. Like react it also has virtual DOM that acts as a reagent enhancing its speed.