<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>RIFE2 on foojay.io - Friends Of OpenJDK</title><link>http://foojayio.github.io/website/today/category/rife2/</link><description>Recent content in RIFE2 on foojay.io - Friends Of OpenJDK</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 16 Apr 2024 13:24:32 +0000</lastBuildDate><atom:link href="http://foojayio.github.io/website/today/category/rife2/index.xml" rel="self" type="application/rss+xml"/><item><title>Getting Started with bld</title><link>http://foojayio.github.io/website/today/getting-started-with-bld/</link><pubDate>Mon, 15 Apr 2024 18:31:32 +0000</pubDate><guid>http://foojayio.github.io/website/today/getting-started-with-bld/</guid><description>&lt;p&gt;&lt;strong&gt;bld is an up-and-coming build tool for the Java ecosystem. This article guides you through getting set up to use it in your own projects.&lt;/strong&gt;&lt;/p&gt;&#10;&lt;h2 id="what-is-bld"&gt;What is &lt;code&gt;bld&lt;/code&gt;?&lt;/h2&gt;&#10;&lt;p&gt;&lt;code&gt;bld&lt;/code&gt; is a build tool for the Java ecosystem.&lt;/p&gt;&#10;&lt;h2 id="why-use-bld"&gt;Why use &lt;code&gt;bld&lt;/code&gt;?&lt;/h2&gt;&#10;&lt;p&gt;&lt;code&gt;bld&lt;/code&gt; is a very simple build tool.&lt;/p&gt;&#10;&lt;p&gt;Unlike its contemporaries &lt;code&gt;Maven&lt;/code&gt; and &lt;code&gt;Gradle&lt;/code&gt;, which concern themselves with abstract models of a project, lifecycles, declarative DSLs, and avoiding repeated work, &lt;code&gt;bld&lt;/code&gt; just runs Java code.&lt;/p&gt;</description></item><item><title>Why I moved my blog to RIFE2 after 23 years?</title><link>http://foojayio.github.io/website/today/why-i-moved-my-blog-to-rife2-after-23-years/</link><pubDate>Tue, 05 Mar 2024 06:42:47 +0000</pubDate><guid>http://foojayio.github.io/website/today/why-i-moved-my-blog-to-rife2-after-23-years/</guid><description>&lt;p&gt;In April 2023, I decided to move &lt;a href="https://erik.thauvin.net/blog/" title="my blog" target="_blank" rel="noopener noreferrer"&gt;my blog&lt;/a&gt; to &lt;a href="https://rife2.com/" target="_blank" rel="noopener noreferrer"&gt;RIFE2&lt;/a&gt;, a full-stack framework. It was previously built &lt;a href="https://erik.thauvin.net/blog/stories//15/behind-this-blog" target="_blank" rel="noopener noreferrer"&gt;using my own custom JSP tag library&lt;/a&gt;, which ran non-stop for 23 years. At one point in time, it was handling close to 5 connections per second, or around 12 million a month, on a single Apache/Tomcat instance.&lt;/p&gt;&#10;&lt;p&gt;Over the years, I tried many frameworks, and the features never made up for the bloat. I&amp;rsquo;ve also never been a big fan of the MVC approach, and I wanted it to be very lean. RIFE2 no-dependencies approach immediately appealed to me, but I wasn&amp;rsquo;t sure the features passed muster.&lt;/p&gt;</description></item><item><title>Introducing Bld: A New Pure Java Build System</title><link>http://foojayio.github.io/website/today/introducing-bld-a-new-pure-java-build-system/</link><pubDate>Mon, 10 Apr 2023 20:12:47 +0000</pubDate><guid>http://foojayio.github.io/website/today/introducing-bld-a-new-pure-java-build-system/</guid><description>&lt;p&gt;&lt;a href="https://rife2.com/bld" target="_blank" rel="noopener noreferrer"&gt;RIFE2&amp;rsquo;s &lt;code&gt;bld&lt;/code&gt;&lt;/a&gt; is a new build system that allows you to write your build logic in pure Java.&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;bld&lt;/code&gt; was initially created for RIFE2 web applications, but has already moved outside of that narrow focus and is now used for non-web projects also, like the &lt;a href="https://rife2.com" target="_blank" rel="noopener noreferrer"&gt;RIFE2 framework&lt;/a&gt; itself and our &lt;a href="https://github.com/gbevin/urlencoder" target="_blank" rel="noopener noreferrer"&gt;URL Encoder for Java library&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;We created &lt;code&gt;bld&lt;/code&gt; because we&amp;rsquo;re not really interested in build tools. We use them because we have to, but we&amp;rsquo;d rather just get on with coding the real stuff.&lt;/p&gt;</description></item><item><title>Web App Startup in 3ms with RIFE2 and GraalVM</title><link>http://foojayio.github.io/website/today/web-app-startup-in-3ms-with-rife2-and-graalvm/</link><pubDate>Tue, 21 Feb 2023 09:12:55 +0000</pubDate><guid>http://foojayio.github.io/website/today/web-app-startup-in-3ms-with-rife2-and-graalvm/</guid><description>&lt;p&gt;&lt;a href="https://rife2.com" target="_blank" rel="noopener noreferrer"&gt;RIFE2&lt;/a&gt; applications already launch quickly with a regular JVM thanks merely calling Java methods, lambdas and doing object instantiations at startup. There are no annotations to scan for, nor any declarations or config files to parse and resolve.&lt;/p&gt;&#10;&lt;p&gt;The &lt;a href="https://github.com/gbevin/rife2/releases/tag/1.3.0" target="_blank" rel="noopener noreferrer"&gt;RIFE2 v1.3.0 release&lt;/a&gt; introduced experimental support for GraalVM Ahead-Of-Time compilation with native-image, reducing the startup time of the bootstrap project from 177ms to an incredible 3ms.&lt;/p&gt;&#10;&lt;h2 id="try-it-out-yourself"&gt;Try it out yourself&lt;/h2&gt;&#10;&lt;p&gt;In order to try this out, you can download the latest &lt;a href="https://www.graalvm.org/downloads/" target="_blank" rel="noopener noreferrer"&gt;GraalVM&lt;/a&gt; JDK 19 distribution, and follow the steps to install &lt;a href="https://www.graalvm.org/dev/reference-manual/native-image/" target="_blank" rel="noopener noreferrer"&gt;native-image&lt;/a&gt; on your machine.&lt;/p&gt;</description></item><item><title>Getting Started with RIFE2 Java Web Framework v1.0.0</title><link>http://foojayio.github.io/website/today/getting-started-with-rife2-java-web-framework-v1-0-0/</link><pubDate>Tue, 07 Feb 2023 07:44:45 +0000</pubDate><guid>http://foojayio.github.io/website/today/getting-started-with-rife2-java-web-framework-v1-0-0/</guid><description>&lt;p&gt;RIFE2 is a very recently released and completely re-imagined version of my RIFE framework from 10 years ago.&lt;/p&gt;&#10;&lt;p&gt;You can find all the details on the &lt;a href="https://rife2.com" title="project website" target="_blank" rel="noopener noreferrer"&gt;project website&lt;/a&gt; and on &lt;a href="https://github.com/gbevin/rife2" title="GitHub" target="_blank" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h2 id="what-is-rife2"&gt;What is RIFE2?&lt;/h2&gt;&#10;&lt;p&gt;RIFE2 provides an opinionated full stack web framework, without external dependencies, in a 2MB jar. It is designed as a whole to make the creation of dynamic web applications and REST web services very fast while preserving maintainability and leveraging the strengths of the Java platform. You can still pull in other Java libraries and frameworks, of course, however, the layers of RIFE2&amp;rsquo;s full stack have knowledge about each-other, which provides many convenient features and shortcuts.&lt;/p&gt;</description></item></channel></rss>