Fortissimo and Pilaster: Two projects
I have released two projects today:
- Fortissimo: A PHP framework with a twist. It's scalable, it's not MVC, it's fast, and it's NSFW!
- Pilaster: A pure PHP document database that provides similar services to MongoDB or CouchDB -- only without the server.
Both are still under heavy development, but they are now at the point where others can start testing them and playing with them.
Fortissimo is a PHP framework with some key features that make it not-the-run-of-the-mill-framework.
- Scalable: It was designed to be scalable -- across servers, databases, etc.
- Design Pattern Bliss: It uses Chain-of-Command instead of MVC as a base design pattern. Why? Because MVC is simply not a good pattern for the web. Chain of command is a very good pattern for a framework.
- NSFW: No Stupid Fortissimo Wrappers. I went to great lengths to not write wrapper APIs that either re-implemented or stupidly wrapped existing PHP features.
- Self-documenting: When you write a command, Fortissimo generates documentation on it. This makes it easier for other developers to figure out what you were doing.
Check out Fortissimo at GitHub. There is currently an early-access release. http://github.com/technosophos/Fortissimo
The default framework does not come with a data access layer. There are four reasons for this:
- With PHP's built-in PDO layer, writing a data access layer would violate NSFW.
- There are many data stores available out there, and rather than write a simplistic wrapper, I decided to leave it up to you to pick your favorite data store and write your own interface. Writing a MySQL layer for my own application took about fifteen minutes.
- The future is NOT SQL! SQL is generally not the write data layer for web applications. MongoDB and CouchDB are rising stars, and are better candidates for data storage and retrieval in a Web 2.0 world. And there is no need to write abstraction layers around them.
- And, most obviously, since this is not an MVC pattern, there is no need to provide a Model-layer.
Fortissimo is currently in heavy development, and may not stabilize for a long time. But if you are looking for a new Open Source project to get started with, you may want to give it a try. We welcome contributions, too.
Pilaster is a document database that I began writing in 2004. For a long time, it sat languishing on my hard drive(s). Finally, inspired by a video on MongoDB, I decided to whip it into (sorta) shape and release it. Here are a few URLs:
Pilaster is not release-ready. But you may want to try it out and see if it has potential for you. Please report issues to me (using the GitHub tracker). While it has been tested using unit tests and a few stress-tests, it is far from thoroughly vetted.