Brainsware Blog

(In other news: App development, UX design, business: we're writing about the entire development of Sealas)

First public Bacon release!

by daniel on

We, Brainsware, have developed Bacon over the last years to cover all our clients' common use cases and thus have created a base for fast and robust web development using PHP. Since we do not want to keep that to ourselves, Bacon is now released to the wild under the Apache-2.0 license.

What makes Bacon special?

PHP and its surrounding development environment, as well as web development practices in general, have evolved quite a bit in the past years and we tried to keep in touch with that. Thus Bacon strives to integrate in all the new and shiny infrastructure available for PHP developers.

  • A very permissive license (Apache-2.0)
  • Full usage of PHP 5.4 features, especially in the underlying general purpose library Sauce
  • PSR-0 and mostly PSR-1 compatible (we prefer #under_score method names instead of #camelCase)
  • Available as Composer packages for ease of installation and dependency management
  • Library, website and skeleton project fully available for you to fork on Github

What does Bacon provide?

Bacon is still quite small and minimalistic, it does however implement a complete MVC structure. With this structure and some conventions Bacon makes it very easy to cover a wide variety of use cases of modern web development.

  • A simple ORM
  • RESTful routing: a simple, standardized way of mapping URIs to controllers also following our principle of convention over configuration
  • Robust controller infrastructure including the standard template engine Twig
  • Standardized upload handling for asynchronous XHR as well as classic HTML uploads
  • Simple ways of turning your controllers into web services or AJAX API endpoints
  • Support for CoffeeScript

Where will Bacon go?

As good as we think Bacon is already, we still have a lot of features lined up in our queue:

  • Migrations, validations and associations for the ORM
  • Standardized error and error message handling in the ORM and controllers
  • Internationalization and localization
  • Proper, automatable unit and regression testing suite with a simple DSL for Bacon, Sauce and the applications built with it
  • API documentation generation that integrates neatly with the rest of documentation
  • Keep up-to-date with new features in PHP

We will try to keep and improve the usability of Bacon as a whole, to further ease web development.

If you have any questions, feature request or just want to get in touch don''t hesitate to contact us on Github. We also encourage you to fiddle around with Bacon and its environment yourself, if you feel like something is missing, you found a typo or just want to experiment. So fork us and send us pull requests!

Share this Post: