20 years ago, there were 2 distinct web page develop paradigms: Static & Dynamic. In the last 10 years there has been a paradigm shift, since Dynamic page rendering has become the standard. The paradigms are: Virtual DOM vs DOM. Web progammers know that there are 3 basic elements of programming web pages: HTML, JS and CSS.
The Document Object Model (DOM) is a programming interface for web documents. It represents the page so that programs can change the document structure, style, and content. The DOM represents the document as nodes and objects; that way, programming languages can interact with the page.
A web page is a document that can be either displayed in the browser window or as the HTML source. In both cases, it is the same document but the Document Object Model (DOM) representation allows it to be manipulated. As an object-oriented representation of the web page, it can be modified with a scripting language such as JavaScript.
The virtual DOM (VDOM) is a programming concept where an ideal, or “virtual”, representation of a UI is kept in memory and synced with the “real” DOM by a library such as ReactDOM. This process is called reconciliation.
This approach enables the declarative API of React: You tell React what state you want the UI to be in, and it makes sure the DOM matches that state. This abstracts out the attribute manipulation, event handling, and manual DOM updating that you would otherwise have to use to build your app.
Since “virtual DOM” is more of a pattern than a specific technology, people sometimes say it to mean different things. In React world, the term “virtual DOM” is usually associated with React elements since they are the objects representing the user interface. React, however, also uses internal objects called “fibers” to hold additional information about the component tree. They may also be considered a part of “virtual DOM” implementation in React.
Javascript Frameworks:
Angular, Vue and React are frameworks based on the Virtual DOM. They have programming standards and design that leverages their 'Compilation' process to generate HTML, JS and CSS. This means that programmers write code in the standards designed by the authors of the javascript framework. Although the proliferation of npm packages have offered a number of extensions, there has become an overpopulation of packages driven by the complexities of navigating the framework's developing maturity.
Frame(s)work:
Frame(s)work is based on the DOM. The programming stardards designed for programmers are focused on representing the content. Since it is not 'compiled' it offers a more simplified development experience. The primary design of the Frame(s)work is that it reduces the friction of development. It provides a SPA (single page application) application design that maximizes use of browser resources and HTML 5 programming integrations.
As the technology landscapes have proliferated, software development needs to adapt and evolve. Rethinking processes and refactoring needs to be an integral part of the development process: Look at the Forest not just the Trees. There has been a lot of advancement in the process development for software but very little focus on consolidation of development itself.
In today's world of platforms, frameworks, and languages, software development can accomplish tasks in many, many different ways. Often, 'SIMPLICITY' can take on a whole different definition. This is because a task solved by the most simple tools, may be adding unwarranted complications to the development as a whole. Options and alternatives may be very empowering but they may be the cause of unwanted complications and concern.
It is said "The more things change, the more they stay the same". The proliferation of Cloud Platforms and Programming Integrations has provided abilities never before seen. Tools and Tech explore the tools and techniques I have developed of my years in development.
Before you consider Angular, React or Vue for your next project, find out how you can use Frame(s)work instead.
At Frame(s)work, our mission is to provide a best in class development solutions for rapid development and delivery of modern application solutions.
Copyright © 2023 Fundamental Technology - All Rights Reserved.
Powered by GoDaddy
A Place to Explore Programming that is Efficient and Elegant. Frame(s)work is designed for those looking to interact directly with HTML5.
We use cookies to analyze website traffic and optimize your website experience. By accepting our use of cookies, your data will be aggregated with all other user data.