Open Collective
Open Collective
Loading

HtmlFlow

HtmlFlow is a DSL for HTML that sets itself apart from the competition through: 1) type safety, 2) superior performance, 3) progressive rendering.

Contribute


Become a financial contributor.

Financial Contributions

Custom contribution
Donation
Make a custom one-time or recurring contribution.
Recurring contribution
Backer

Become a backer for $5.00 per month and support us

Starts at
$5 USD / month
Recurring contribution
Sponsor

Become a sponsor for $100.00 per month and support us

Starts at
$100 USD / month

HtmlFlow is all of us

Our contributors 3

Thank you for supporting HtmlFlow.

Pedro Fialho

Core Contributor

Connect


Let’s get the ball rolling!

News from HtmlFlow

Updates on our activities and progress.

Presentation at WebIst 2023 Rome

We presented the latest innovations of HtmlFlow at the 19th International Conference WebIst in Rome on October 17th. Our work, titled "Enhancing SSR in Low-Thread Web Servers" demonstrates how to achieve progressive rendering when...
Read more
Published on November 27, 2023 by Miguel Gamboa

About


The HtmlFlow API adheres to HTML5.2 standards and is generated with the support of an automated framework (xmlet) based on HTML 5.2 syntax rules. Thus, the HTML resulting from HtmlFlow respects all HTML 5.2 conventions and, whenever you type . after an element the intellisense will just suggest the set of allowed elements and attributes. For example, h1().div() gives a compilation error because it goes against the content allowed by h1 according to HTML5.2. Additionally, all attributes are also strongly typed with enumerated types which restrict the set of accepted values. 

HtmlFlow stands out as the most performant engine among state-of-the-art JVM template engines like Velocity, Thymleaf, Mustache, etc and other DSL libraries for HTML such as j2Html and KotlinX Html. Check out the performance results in the most popular benchmarks at spring-comparing-template-engines and our fork of xmlet/template-benchmark. 
 
Much of the development has been carried out by Master of Science (MsC) students funded by research fellowship programs. However, this funding is limited and insufficient to address all community requests, as evidenced by the activity on the issues. 

Some of these issues demand substantial development effort and necessitate a dedicated programmer. Examples of those open issues, not limited to: 
  • IDE formatter and folding plugin
  • Improvement of Flowifier with JavaPoet
  • Integration of HTML source code fragments within HtmlFlow
  • Enhancement of HtmlFlow API to align with idiomatic Kotlin conventions, such as properties and operator overloads
  • Support for asynchronous and concurrent fragments via Web components.

Currently, HtmlFlow is continuously evolving with the addition of new features and ongoing community issue resolutions. A recent milestone is the introduction of release 4.0, which seamlessly supports any asynchronous API and has the ability to manage multiple asynchronous data models within a single web template.

Our team

Pedro Fialho

Core Contributor
Open Collective
Make your community sustainable.

Platform

Join

  • Create a Collective
  • About Fiscal Hosting
  • Discover
  • Find a Fiscal Host
  • Become a sponsor
  • Become a Host

Community

Company