“Code is always a liability, and it’s always worthwhile to explore ways to write less of it,” he said. “In our experience, Unpoly lets us build apps with much less code than a comparable SPA, while retaining much of the speed and flexibility on the frontend. It’s a much better sweet spot for us.”
What Is Unpoly’s Purpose and Why Was It Developed?
Unpoly debuted seven years ago, in 2015. It is the latest brainchild of Koch, who has been developing web applications for well over 25 years. “I spent half of my career as a head of development at a web development company, Makandra,” he explained. “With Unpoly, I could draw from the experience of hundreds of web apps that my team has delivered. When you’re working on a few new projects every year, you can see patterns emerge organically, and extract from there.”
Using Unpoly, your views can do things that are not normally possible in HTML, such as:
- Opening links in modal dialogs.
- Having links update only fragments of a page.
- Layer interactions.
Unpoly was developed by Koch as he noticed the growing complexity of code being used to create web applications, and how most of the time it wasn’t necessary. “Basically, when SPA frameworks came into fashion in the early 2010s, my team went all-in on AngularJS for a while. We had been struggling with the limitations of server-side rendering, and we hoped that SPA style apps would allow us to deliver more ambitious UIs with less convoluted code,” he said.
How Does Unpoly Compare to React?
According to Henning Koch, React and Unpoly aren’t entirely opposites. They share some likenesses, but there are a few important distinctions. “What both frameworks share is that they render a full page when the user navigates, but then only fragments of that new page are inserted into the DOM, with the rest being discarded,” he explained. “However, while a React app would usually call a JSON API over the network and render HTML in the browser, Unpoly renders HTML on the server, where we have synchronous access to our data and free choice of programming language.”
Still, Koch acknowledges there are some instances where React and SPA’s are suitable choices. He went on to say, “There are still some cases where a SPA approach shines. For instance, we recently built a live chat where messages needed to be end-to-end encrypted. This would have been awkward to do with a mostly server-side solution, and we actually ended up building the chat component with React. I just don’t think it’s the best default for most web apps.”
Why HTML Over-the-Wire Is Gaining Popularity