Biff is a new Clojure web framework designed for simplicity and productivity. It emphasizes a "batteries-included" approach, providing built-in features like routing, HTML templating, database access with HoneySQL, and user authentication. Biff leverages Jetty for its underlying server and Integrant for system configuration and lifecycle management. It aims to streamline web development by offering a cohesive set of tools and sensible defaults, allowing developers to focus on building their application logic rather than configuring disparate libraries. This makes Biff a suitable choice for both beginners and experienced Clojure developers seeking a pragmatic and efficient web framework.
Plain is a Python web framework focused on simplicity and productivity for building web applications and APIs. It embraces a "batteries-included" approach, offering built-in features like routing, templating, database access (using SQLite by default), form handling, and security measures against common vulnerabilities. Designed for a straightforward developer experience, Plain emphasizes minimal configuration and intuitive APIs, promoting rapid development and easy maintenance. It aims to provide a lightweight yet powerful foundation for projects ranging from small utilities to larger web products.
HN commenters generally expressed interest in Plain, praising its simplicity and focus on serving HTML. Several appreciated the "batteries included" approach for common tasks like forms and authentication, contrasting it favorably with Django's complexity. Some questioned the performance implications of generating HTML with Python, and others desired more details on the templating language. A few commenters noted the similarity to other Python frameworks like Flask or Pyramid, prompting discussion about Plain's unique selling points and potential niche. There was also some skepticism about the project's longevity given the prevalence of existing frameworks. However, the overall sentiment was positive, with many looking forward to trying it out.
Manifest is a single-file Python library aiming to simplify backend development for small projects. It leverages Python's decorators to define API endpoints within a single file, handling routing, request parsing, and response formatting. This minimalist approach reduces boilerplate and promotes rapid prototyping, ideal for quickly building APIs, webhooks, or small services. Manifest supports various HTTP methods, data validation, and middleware for customization, while striving for ease of use and minimal dependencies.
HN commenters generally express interest in Manifest's simplicity and ease of use for small projects. Several praise the single-file approach and minimal setup. Some discuss potential use cases like rapid prototyping, personal projects, and teaching. Concerns are raised about scalability and suitability for complex applications. A few users compare it to similar tools like Flask and Sinatra, questioning its advantages. Some debate the merits of its integrated templating and routing. The author actively engages in the comments, addressing questions and clarifying the project's scope. Several commenters express appreciation for the "batteries-included" approach, though acknowledge the potential limitations.
Goravel is a Go web framework heavily inspired by Laravel's elegant syntax and developer-friendly features. It aims to provide a similar experience for Go developers, offering functionalities like routing, middleware, database ORM (using GORM), validation, templating, caching, and queuing. The goal is to boost developer productivity by offering a structured and familiar environment for building robust web applications in Go, leveraging Laravel's conventions and principles.
Hacker News users discuss Goravel, a Go framework inspired by Laravel. Several commenters question the need for such a framework, arguing that Go's simplicity and built-in features make a Laravel-like structure unnecessary and potentially cumbersome. They express skepticism that Goravel offers significant advantages over using standard Go libraries and approaches. Some question the performance implications of mimicking Laravel's architecture in Go. Others express interest in exploring Goravel for personal projects or as a learning experience, acknowledging that it might be suitable for specific use cases. A few users suggest that drawing inspiration from other frameworks can be beneficial, but the overall sentiment leans towards skepticism about Goravel's value proposition in the Go ecosystem.
Robyn is a Python web framework designed for speed and simplicity, leveraging Rust's performance under the hood. It aims to provide an asynchronous, scalable solution for building web applications and APIs with a minimal learning curve. Features include automatic code reloading, type hints, and a built-in router. Robyn promotes a straightforward approach to web development, allowing developers to focus on application logic rather than complex configurations. It draws inspiration from other frameworks like Node.js's Express and aims to offer a competitive alternative in the Python ecosystem.
Hacker News users discussed Robyn's performance, ease of use, and niche appeal. Some praised its speed, asynchronous nature, and the novelty of a Python framework leveraging Rust. Others questioned the practical benefits over existing frameworks like Flask or FastAPI, especially for simpler projects. Several commenters expressed interest in learning more about the Rust integration and its impact on performance. The "Batman-inspired" branding was met with mixed reactions, some finding it playful while others deemed it unprofessional. Overall, the discussion revolved around Robyn's potential and whether it offers a compelling advantage over established alternatives. A few users highlighted potential deployment challenges due to the Rust component.
This project introduces a C-based web framework designed for dynamic module loading and hot reloading. Leveraging a custom module format and a simple HTTP server, it allows developers to modify and reload C code without restarting the server, facilitating rapid development and experimentation. The framework compiles and links modules on-the-fly, managing dependencies and updating the running server seamlessly. While currently limited in features, it aims to offer a performant and flexible foundation for building web applications directly in C.
Hacker News users discussed the practicality and novelty of a C web framework with hot reloading. Some questioned the real-world use cases and performance benefits compared to existing solutions, suggesting the project serves more as an interesting experiment than a production-ready tool. Others expressed interest in the technical implementation, particularly the hot reloading aspect, and appreciated the author's effort in exploring this concept. Several users pointed out potential issues like memory leaks and the challenges of safely reloading C code in a web server environment. The overall sentiment leans towards acknowledging the project's technical ingenuity while remaining skeptical about its broad applicability.
Summary of Comments ( 21 )
https://news.ycombinator.com/item?id=44037426
HN users generally express interest in Biff, praising its simplicity, clear documentation, and "batteries included" approach which streamlines common web development tasks. Several commenters favorably compare it to other Clojure web frameworks like Ring, Pedestal, and Reitit, highlighting Biff's easier learning curve and faster development speed. Some express curiosity about its performance characteristics and real-world usage. A few raise concerns about the potential limitations of a "batteries included" framework and the implications of choosing a smaller, newer project. However, the overall sentiment leans towards cautious optimism and appreciation for a fresh take on Clojure web development.
The Hacker News thread for "Biff – a batteries-included web framework for Clojure" contains a moderate number of comments discussing various aspects of the framework and its place within the Clojure ecosystem.
Several commenters express interest in Biff and praise its apparent simplicity and ease of use. Some appreciate the "batteries-included" approach, highlighting the convenience of having built-in features like authentication and database integration. They see it as a potential solution to the perceived fragmentation and complexity within the Clojure web development landscape. One commenter specifically mentions how it feels refreshing compared to other frameworks that require a significant amount of configuration and boilerplate.
The discussion also touches upon Biff's use of Integrant for dependency injection. Commenters familiar with Integrant express positive opinions about this choice, seeing it as a robust and well-regarded library for managing application state.
However, some skepticism is also present. Some users question the long-term viability of yet another Clojure web framework, given the existing options. They wonder if Biff offers enough differentiation to justify its existence and whether it will gain sufficient community support to thrive. Concerns about the relatively young age of the project and the potential for breaking changes are also raised.
A few commenters delve into specific technical details, such as Biff's routing mechanism and its handling of asynchronous operations. One commenter mentions the similarity to Pedestal's interceptor pattern. Another points out the use of HoneySQL for database interactions.
There's a brief exchange about the choice of the name "Biff," with some users finding it amusing and others expressing mild disapproval.
Finally, some commenters request clarification on certain aspects of Biff's functionality, such as its approach to security and its integration with other Clojure libraries. The author of Biff actively participates in the thread, responding to questions and providing further insights into the framework's design and goals.