Web Application Architecture Best Practices in 2021

Web application architecture is a high-level structure that determines the way your product and business will operate, perform and scale. These days, the stage of choosing web app architecture is often where you get lost in a variety of options available on the software development market. The more new names and trends appear, the harder it becomes to decide. Isomorph, Progressive Web app, SPA, or SSR – what’s the best modern web app architecture for you, and which criteria to use for evaluation? In this article, we cover the major front-end architecture types available for the Web and explain the peculiarities of their implementation.

What Is a Web App vs Website?

First, let’s define a web app. It’s a client-server application, where there’s a browser (a client) and a web server. The logic of a web application is distributed among the server and the client, there’s a channel for information exchange, and data storage located locally or in the cloud.

AVIF Image Format: The Next-Gen Compression Codec

Page speed is a big thing. From a search engine optimization perspective and user perspective. And it’s not me who’s saying this, it’s Google, Moz, and SEMrush and every major SEO site out there. Now when we talk about page speed, the biggest challenge for developers is always images. They are the bane of their existence and are usually to blame for slow page load times. That is one of the reasons why every developer is always looking for an image format that can improve their image compression. And AVIF has arrived to do just that.

The AVIF image format can address images compressed with the AV1 (AOMedia Video 1) algorithm. Compared to other compression codecs like JPEG, PNG, WebP, etc., it produces high quality compressed images without compromising much on quality. Developed by the Alliance for Open Media, it is a successor to WebP and promises to be a game-changer in image compression. With major companies supporting this format, the AVIF image format’s future is looking very bright.

10 Popular Ruby on Rails Gems for Developers

Ruby on Rails is a popular web development technology. It is simple, efficient, and often termed as the 'startup technology.' Over 3.7 million web apps use Ruby on Rails. However, what makes rapid prototyping possible are the Ruby on Rails gems. They drastically reduce the time taken to code.

Gems in Rails are libraries that allow any Ruby on Rails developer to add functionalities without writing code. You can also call Ruby on Rails gems as plugins for adding features. There are RubyGems for almost everything, from authentication to payment gateway processing. 

Extending Vue.js Components

Do you have components in your Vue app that share similar options, or even template markup?

It'd be a good idea to create a base component with the common options and markup, and then extend the base component to create sub components. Such an architecture would help you apply the DRY principle in your code (Don't Repeat Yourself) which can make your code more readable and reduce the possibility of bugs.

Validate Street Addresses With Vue.js and the HERE Geocoder Autocomplete API

When it comes to geocoding, being able to convert addresses to latitude and longitude coordinates so they can be displayed on a map is not the only use-case. A lot of times being able to geocode an address makes for great address validation to see if an address actually exists. Take for example a tutorial written by Jayson DeLancey titled, Street Address Form Validation with React.js and HERE Geocoder Autocomplete. In this tutorial, he demonstrated how to accept user input, offer suggestions, and ultimately check to see if the addresses are valid using React and the APIs found in the HERE Developer Portal.

We're going to change it up a bit. Instead of using React, we're going to try to validate addresses using Vue.js, another very popular framework for web development.

How to Use the APP_INITIALIZER Token to Hook Into the Angular Bootstrap Process

I've been building applications using Angular as a framework of choice for more than a year and this post is not another React vs. Angular or the quirks of each framework. Honestly, I like Angular and every day I discover something new which makes development easier and makes me look like a guy who built something very complex in a matter of hours, which would've taken a long time to put the correct architecture in place if I had chosen a different framework. The first thing that I learned in Angular is the use of the APP_INITIALIZER token.

The documentation at angular.io says APP_INITIALIZER is "a function that will be executed when an application is initialized." It does not give any details on how to use this function and where to include it.

An Introduction to MVC Architecture: A Web Developer’s Point of View

MVC or Model View Controller

MVC Stands for Model View Controller and it's software architecture design pattern. The main goal of this architecture is to separate functionality, logic, and the interface of an application to promote organized programming. It also allows multiple developers to work on the same project.

Let's take a look at different components of MVC from a web developer's point of view. Let's take a look at some of the popular web frameworks that use MVC.

Build a Countries List with Telerik UI for WinForms

RadDomainUpDown in Telerik UI for WinForms is a combination of a text-box and a pair of moving up and down buttons to navigate through a limited selection of options. This control may save you some screen space since it occupies the space needed for a standard text-box. However, in addition, it allows the end user to select one of a variety of several items.

A common use-case is to build an input form for filling personal information. One of the required fields is the nationality. RadDomainUpDown is suitable for introducing the countries options if you don't want to allocate a lot of space on the form.

Handy Beanstalkd Admin Console

I've been building apps with queues lately and mostly using beanstalkd as my queue because it is very simple, very fast, and, on my platform, it is [apt install beanstalkd] easy to install. I have also been using a handy web interface for beanstalkd which I like so much that I felt I ought to share! It's beanstalk-console, which is a PHP-based web interface to one (or many) beanstalkd servers.

Beanstalkd is a very simple queueing system and I've enjoyed using it from a few different tech stacks. It uses "tubes" rather than channels, supports priorities, and uses a simple string for the body of the "job" on the queue.

How to Use Backendless With React.js

React.js is one of the best and most popular front-end frameworks available for app builders. The barriers to entry in terms of understanding how to develop an app with React are very low, which is why many JavaScript developers choose the React library for web or mobile applications. It also works very well with a large number of data providers. Therefore, today we are beginning a series of articles about "How to use Backendless with ReactJS." In this series, we will familiarize you with a number of Backendless features, show you how to use our real-time database with the React-Redux store, show you how to deploy your app to Backendless File Storage, and demonstrate how to easily inject the into your React application.

In this article, we will start by creating a new Backendless App and building a simple React app. Our demo app will be an Address Book app, so to get started we will show how to load and display some data from the server. In the future, we will modernize the application by adding more functionality.

Conditionally Include Partial View in ASP.NET Core

I have an ASP.NET Core web application where I need to include a partial view only if it exists. The application uses areas and some areas may have their specific side menu. This blog post shows two ways to conditionally include a partial view in an ASP.NET Core layout page.

My goal is to do it the easiest way possible by using out-of-the-box things and making sure I don't create an ugly looking mess. I wanted to avoid all kinds of additional classes to wrap dirty secrets away from controllers and views.

Display an Interactive HERE Map in an Ionic App

Back when I first started at HERE I had written a tutorial titled, Display HERE Maps within your Angular Web Application. In fact, it was my first official tutorial since starting and since then I’ve received several similar requests around it. One popular request has been around taking the Angular web application and making it compatible with the Ionic Framework.

In this tutorial, we’re going to see how to build a progressive web application (PWA) using the Ionic Framework that can be deployed on the web or on mobile devices running Android or iOS.

Switching Between .NET Core SDK Versions

In this article, we’ll learn how we can switch between the versions of the .NET Core SDK as per our needs.

If you have worked on one project that used .NET Core version 2.1 and then you installed .NET Core 3.0 Preview, you will get an SDK error while trying to run your .NET Core 2.1 project. This is because your current SDK version has changed to 3.0

Several Years Later: A Case of the Telephone Game

Remember the Telephone Game? 

You can read all about it here, but the gist is the first person is whispered a message. That person then whispers the same message (to the best of their recollection) to another person. The process continues until the last person receives the message. At that point, the last person announces the message for all to hear. The fun part of this game is to hear how much the story changes as the message is passed from person to person.

How Is Your Application’s Customer Service Experience?

[A Zone Leader asks, how is your application handling alternate flows systemmatically, providing three real-life examples he has recently encountered.]

When we think about the idea of customer service, probably the first thing that comes to mind is a group which supports some aspect of a business or service. By simply getting in touch with them, you can work through issues that were not expected as a result of your interaction.

Cross-Field Form Validation in Oracle JET

JET keeps evolving and in the latest version, its toolkit provides improved support for form cross-field validation. It is much easier to implement validation than it was before. I will show it in this example.

Example of the data entry form. Validation logic: