The Fight Against Complexity

Starting a fresh, greenfield project feels great. New horizons, cleaner code, great potential. And best of all, no legacy code!

But eventually – almost inevitably – the project becomes a drag to work on. You know the feeling. The hesitance. The reluctance. The dread.

Why does this happen? Is it inevitable? How do we avoid it? Can we avoid it?

Complexity crept up on us

As web developers, there's no debate our tools have gotten more complicated over time.

I started web development in 2007. Over the course of these 14 years, I've seen many things:

Granted, much of this was necessary to push the web forward. But now that progress has been made, it's time to re-evaluate.

How do we return to being simple again?

Frameworks vs Transferable Knowledge

The problem with most web frameworks is how they force you to learn concepts that you can't transfer anywhere else. When you learn Angular, does that make learning Vue any easier? When you learn React hooks, does that help you pick up data management in Marko?

Obviously not. Each of these frameworks make you learn framework-specific knowledge that doesn't help you anywhere else.

But there's hope: HTML, JavaScript, and CSS.

Tens of thousands of man hours have been put into designing and implementing these standards. And because of W3C's and TC39's almost unreasonable commitment to backwards compatibility, any effort you put into learning these technologies will be relevant for years and years to come.

And that, my dear reader, is the grand motivation behind Lancer.

The Return to Transferable Knowledge

Lancer is a return to the simple. Instead of making you learn a slew of framework-specific information, Lancer leans on plain old HTML as much as humanly possible. Learn standards, use them for years, and enhance them with small-yet-powerful augmentations that don't invent new syntaxes nor new file types.

Lancer isn't done, but the result is already beautiful. Come join us on GitHub and take part in the mission.