New Tech Talkart 1

Browsers

I posted a new Tech Talk that introduces what goes on inside the typical Browser software. We use browsers so cavalierly that we don't stop to realize what is going on under the hood. To more fully understand how the gears are churning when we write HTML/CSS/JS code, it is nice to have a foundation for this app called a browser.

I find it remarkable that the browser is an Internet communicator that knows the HTTP rules and how to send messages to get webpages from a distant server or to send data to a database or make changes or delete data. Browsers are parsing machines and can construct a hierarchal tree of HTML elements and arrange all the sibling and parent-child relations. The next big task is to render the parsed data into a presentation within the viewport with varying sized screens it does well also. Prior to being instructed by CSS rules supplied by the programmer, an entire set of default parameters must be established to render the HTML elements. There are a wide variety of languages supported and all the symbols common to those languages.

Browsers are a living application in that the world of programmers is constantly making suggestions and submitting changes that drive software modifications. So browsers are embedded into the fabric of the Internet and know how data is rendered on screens.

Then there is JavaScript. Browsers have a built-in JavaScript interpreter to unscramble the various flavors arranged by programmers. There is legacy code. There is brand new code. It all has to play together so programmers can use new and improved features right away. JavaScript's power and complexity have driven web-dev programmers to create whole systems to deal with it like Node, Vue, Angular, React, Next, and support systems like webpack and Babel. Browsers as the toolkit for Internet usage is unmistakable, and therefore, is a subject about which every programmer needs to be fully informed.


Web-Dev Expandsart 2

PWA and SPA

Websites that focus on marketing and selling or collect data and display data analysis have become quite complex. Writing code to do all the tasks needed and avoid security gaps and authorization slips and fit onto a mobile screen is better served through an app downloaded onto the device.

Progressive Web Application (PWA) is an application placed on a mobile device that provides broad connectivity or can run off-line or better support sporadic connectivity. This approach is supported by cloud resources and can be used on any type of device. PWA's can push notifications and updates but otherwise acts like a website or local app.

Single Page Application (SPA) is a website that can be optimally loaded to minimize load times by only loading the framework of the site and then updating areas within the website upon user actions/selections. There is no need to load complete separate pages from links. By using JavaScript to only load areas of the site that need to change, fast response times can be maintained. Cached data can be loaded to be used anytime even when off-line. Backend code can be the same for desktops or mobile OS. Pauses for page loads are eliminated assuming the user action doesn't cause a massive change to the page.

The various JavaScript-based frameworks have more advanced schemes like Next/React to optimize what and when data is needed for the client-side or be rendered on the backend. New acronyms will be coming I'm sure to challenge the web developer. Stay tuned.