Modern Type-Safe Template Engines (Part 1)

Over the past two decades, textual templates have been the most used approach to build dynamic HTML documents. Textual templates engines fit the main web development requirements, however, we leave here two considerations:

They are slow.
Most of them are not safe.

In this article, we present four recent alternatives (Rocker, J2Html, KotlinX.html, and HtmlFlow) that embrace disruptive and innovative techniques to suppress some of the common handicaps in traditional template engines. We also include a performance comparison between these engines and other state of the art technologies such as Velocity, Handlebars, Thymeleaf, etc. In some of the most challenging benchmarks, Rocker and HtmlFlow are at least two-times faster than the competition.


Everyone’s First Steps in Web Development

Web development is a big thing nowadays and will remain so for quite some time. Web development is the field of writing applications that can be run and accessed via the web browser. The web development field had gone (and is going every day!) through tremendous changes. From the very first days of the internet and to our present days, web technology advances in huge steps, making state of the art technologies obsolete, creating new technologies almost on a monthly basis, and attracting more and more developers, companies, and industries to web development.
What Is Web Development Really?
In web development, we build web applications. A web application is an application that is rendered on the browser and accessed by the user through the browser. Simply put, when you order tickets to a movie in your hometown theater, when you check your bank account balance, when you write a post on Facebook, or update your resume on LinkedIn, all of these and more are examples of web applications. You open a web browser, go to a specific URL, and get a full working application. Today you can even find sophisticated applications on the web, like sound and video editing applications, drawing, recording, gaming, word processing, you name it. They’re all on the web, and all are accessed via the browser.


Creating a Basic Web Site From an ASP.NET Core Empty Project

I recently wanted to do a very quick proof of concept, regarding the use of setInterval versus setTimeout after reading that setTimeout was referable if you were calling the same function very rapidly. I thought I’d note down my journey from File -> New Project to having the POC running so that, next time, I don’t have to re-lookup the various parts.
File -> New Project
If you create a brand new ASP.NET Core 2.1 project, select the empty project, and then run the generated code, you’ll see this:


Why don’t we add a `lovely` element to HTML?

, <subhead>, <location>, <logo>… It’s not hard to come up with a list of HTML elements that you think would be useful. So, why don’t we?
Bruce Lawson has a look. The conclusion is largely that we don’t really need to and perhaps shouldn’t.
By my count, we now have 124 HTML elements, many of which are unknown to many web authors, or regularly confused with each other—for example, the difference between <article> and <section>. …
The post Why don’t we add a `lovely` element to HTML? appeared first on CSS-Tricks.


How to Make a Cross-Browser Compatible Website

Cross-browser compatibility is important. Very important. We have established that fact in our previous post on the need of a cross browser compatible website. So the next step is, how to make cross-browser compatible websites? How can we make sure that our website provides a smooth and seamless user experience across all browsers that your target audience may have access to, be it Firefox, Chrome, or even Internet Explorer?
While developing a website, normally, you use a combination of JavaScript, CSS, and HTML with CSS3 and HTML5 being the latest.


Customizing a Discourse Forum for Non-Coders and Designers

I’ve had the privilege of moderating, growing, and designing Discourse forums. I wanted to create this guide as a quick walkthrough to help non-coders and designers customize their Discourse forum’s look-and-feel and play with coding! You will need to have admin permissions to do this.

1. Create a Header With Links!
These icons are links to other places your community lives, your blog, website, social media channels, or help pages! You can do as many, or few as possible.


Tutorial: Why Angular Dropdown Automatically Adds an Empty Value

Angular Select Has an Empty Value
Often, I’m faced with this problem while implementing a select (dropdown) in Angular. Here I have tried to walk through why Angular adds an empty value at the beginning of your select list.
Let’s start you have code like this.


HTML elements, unite! The Voltron-like powers of combining elements.

Guides, resources and discussions about Semantic HTML are often focused around specific elements, like a heading, or a sectioning element, or a list. It’s not often that we talk specifically about how we can combine HTML elements to increase their effectiveness.

Normally, when we introduce HTML, we talk about how it is used to apply meaning to content in a document, and we do this by using examples like:

“Is it a paragraph?"
"Is it a heading?"
"Is it a

The post HTML elements, unite! The Voltron-like powers of combining elements. appeared first on CSS-Tricks.


Understanding why Semantic HTML is important, as told by TypeScript

What a great technological analogy by Mandy Michael. A reminder that TypeScript…
makes use of static typing so, for example, you can give your variables a type when you write your code and then TypeScript checks the types at compile time and will throw an error if the variable is given a value of a different type.
In other words, you have a variable age that you declare to be a number, the value for age has to stay …
The post Understanding why Semantic HTML is important, as told by TypeScript appeared first on CSS-Tricks.