So you want to write an "app" (2025)

So you want to write an "app" (2025)

AI & ML·3 min read·via Hacker NewsOriginal source →

Takeaways

  • An experiment to build a simple random number generator app highlights the current state of app development across various platforms.
  • The author’s journey reveals the challenges and quirks of modern app development, from tooling setup to platform integration.
  • Each platform receives a humorous critique, showcasing the frustrations and learning experiences encountered along the way.

Exploring the New Developer Experience: A Dive into App Development

The Quest for App Development Knowledge

In a recent exploration of the app development landscape, a seasoned programmer sought to bridge the gap in their skillset by creating a simple application: a random number generator designed to simulate rolling dice for tabletop RPGs. Although the author had experience with GUI programming using WinForms, they had not actively engaged with app development for years, making this project a personal challenge to understand the "new developer experience." The goal? To focus on the tooling setup and basic UI building functionalities across various platforms without getting bogged down by complex application logic.

The journey began with a live-streamed coding session, allowing viewers to witness the process firsthand. As the author navigated through different platforms, they aimed to utilize the most recommended tools and documentation available, reflecting the often hurried nature of modern programming. The project eventually expanded to include persistent settings and localization support, adding layers of complexity to the user interface. This approach not only tested the author’s coding skills but also highlighted the varying degrees of support and usability across different development environments.

A Platform-by-Platform Analysis

The author tackled the project across several platforms, including Standard C, Linux with GTK and GNOME, macOS/iOS with SwiftUI, and Android with Jetpack Compose, among others. Each platform brought its own set of challenges and learning experiences. For instance, starting with Standard C, the author was surprised to find that, despite its age and well-documented issues, it offered a straightforward way to implement the core functionality of the application. The simplicity of C allowed for a quick setup, but the author acknowledged the ongoing debates surrounding its memory safety and undefined behavior.

However, as the author transitioned to more modern frameworks like WinUI 3 and Jetpack Compose, the experience became less enjoyable. Each platform received a unique sarcastic summary, reflecting the frustrations encountered. WinUI 3 was deemed "uninspired," while Jetpack Compose was humorously labeled "most blatantly 'mask off.'" These critiques serve as a reminder of the challenges developers face when adapting to new technologies, especially when they feel disconnected from the underlying principles of programming.

Lessons Learned and Future Implications

This experiment underscores the importance of understanding the developer experience across different platforms. For practitioners, it highlights the necessity of not only mastering a specific technology but also being adaptable and aware of the broader ecosystem. The author’s reflections reveal that while some platforms may offer powerful features, they can also introduce complexities that hinder productivity. This dichotomy raises a crucial question: how can developers balance the allure of modern frameworks with the reliability of traditional programming languages?

As app development continues to evolve, the insights gained from this journey can inform future projects. Developers must remain vigilant about the tools they choose and the environments they work in, ensuring that they align with their goals and the needs of their users. Ultimately, this exploration serves as a valuable reminder that even in the face of challenges, the pursuit of knowledge in app development is a rewarding endeavor.

More Stories