Web apps continue to grow in complexity. Front-end developers are expected to be experts in security and infrastructure just to get their apps deployed. It's time we change that.
How Did Web App Development Get So Complicated?
Over the last fifteen years, the complexity of putting a web app online has increased significantly.
Responsive design is required now that more browsers and device types have emerged.
Web apps are more feature-rich, and performance optimization is key. Users won’t stick around if it takes too long for their files to load.
The more features and complexity an app has, the more attack surfaces it has. Security is a big concern, and web app developers must educate themselves on various security vulnerabilities and employ best practices to protect user data, prevent unauthorized access, and defend against attacks.
Users expect real-time updates and collaborative features in web apps. This adds complexity to the overall architecture and requires data synchronization.
And this is just the tip of the iceberg.
Front-end developers shouldn’t have to become full-stack super devs AND security experts. We can’t go back to the way the Web was before, but we can take computing paradigms from the past and engineer them with today’s advancements and know-how to build web applications that are resilient, reliable, and require no backend.
Local-First to the Rescue
There are plenty of ideological reasons why a developer would choose local-first - no centralized big tech companies holding user data hostage, less susceptible to censorship, etc. But there are also many practical reasons why a developer would opt to build local-first apps.
Since files are stored locally, users don't need to wait for a server to access their data and send it back to them. We've all experienced trying to use an app only to find that the server went down. This may annoy some, but it could devastate a business or app that relies on real-time data. In 2023, apps should be more resilient than this. Local-first means no waiting around and opens the door to edge computing products and services, like autonomous vehicles and health monitors.
It is vital that your app is encrypted and safe from hackers. An advantage to using a distributed system is that no central point of failure can be targeted. Many news reports have reported user data being stolen or held for ransom by bad actors. With local-first apps, the data never leaves the user's device, mitigating much of the risk. Marketers also love that it's compliant with GDPR.
Fission's ODD SDK
In addition to solving the issues above, it enables real-time (as well as offline!) collaboration, even though it's a decentralized tool. This is possible because we use CRDTs to guarantee eventual consistency and authorize users with the capabilities-based UCAN protocol.
The ODD App Template is responsive, so there is no need to fiddle with the CSS.
If you'd like to learn more about simplifying your approach to building apps while keeping them robust and secure, check out the ODD.dev site for templates, demos, and workshops.