Well, it’s official–to borrow a phrase– it’s startup or bust. The next eight months have been set aside for software development and blogging. During this time, the goal is to build a prototype web application that can be tested with potential customers. This means that NTM will not be accepting any consulting clients for a while. I hope the story of this startup will be one of daring and triumph, and not one of missteps and woe, but so be it.
Much of the reason that I have the moxie to try this is the availability of so many robust development environments and frameworks. I have been testing the NetBeans 7.1 and PHP Designer 8 IDEs, and both work quite well. At this point, I don’t need any advanced features, and the basic functions, code completion and debugging for PHP, work well in both. NetBeans is free, and it has won out—for now. Thus far, my biggest problem has been choosing a PHP framework.
Frameworks are extensible software platforms that speed up application development. They are available for all major programming languages. For most languages there are, at most, two or three frameworks with a significant following. PHP, however, has six or seven. All of the frameworks investigated are open-source and updated frequently. Frequent updates make using a framework worthwhile because feature requests are usually addressed relatively quickly. Over the last three months, I decided that the ideal framework should have an active community and possess the following traits: lightweight, approachable for beginners, object-oriented MVC, and offer CRUD-page generation. I looked at five possible candidates and settled on Yii.
Zend, Symfony, CodeIgniter, CakePHP, and Yii were considered. Not having the time or expertise to evaluate them all using code, I relied on reviews and tutorials to pare down the list. Zend and Symfony seemed to be the most feature-rich and complete frameworks, but I desired something less complex and easier to master. That left CakePHP, CodeIgniter, and Yii in the running. Each has its adherents, but I was won over by the tutorial materials and community supporting Yii. (There is even a NetBeans plug-in for Yii in the works.) At present, I have NetBeans 7.1, PHP, and Yii 1.1.10 running on XAMPP and everything is working well.
The great thing about using an open-source framework is having access to source code. Knowing how experts code is the best way to learn the tricks of the trade. Currently, I am refining my application’s requirements while tinkering with Yii. I have purposely made the initial requirements simple from the standpoint of features, overall architecture, and internal complexity. The goal is to produce a Version 1.0 product with limited features and an extensible design. This architectural approach will allow the addition of new features, with relative ease, in response to user requests. This is where using an MVC framework really shines.
Yii’s selection filled in the final piece of the technology puzzle. Now, I can focus on requirements and product design. Overall, I like where things stand.