"This idea is totally crazy." I'm pretty sure that this is what I would tell anybody coming to me with the thoughts that I had during the last days. I'm programming in PHP for at least 10 years now, and now that I've decided to code the most complicated and sophisticated piece of software in my career as an web application developer, I'm having second thoughts about using PHP. I'm seriously considering to use Java instead, a language that I've never used before.
It must be the Christmas holidays. For me, this time of the year has always been a good opportunity to step out of the treadmill and think about the things I'm doing and the way I'm doing them with a little distance. Yes, that does referr to professional activities as well as private activities. So I took the time and played around with Google App Engine, and I really liked what I experienced. An easy to set up development environment (on my MacBook) and an even easier to set up hosting solution which uses Google's infrastructure to scale to every need. I tried out the Python environment first (I never used Python before either), but I got the impression that Python not the right choice for a very complex application. So I decided to go along with Google's recommendation for enterprise applications: Java.
What could be a better way to start a new year than exploring a new language in a new development setting with a new hosting solution? Next thing on my list: Evaluate the Google Web Toolkit.
Sunday, December 27, 2009
Saturday, December 19, 2009
The Golden Rule
A good knowledge management system is built around people. Any proposed system must effectively recognize the primary mechanisms by which workers "work", and build technology solutions to leverage and faciliate these processes. People are not built to work around the way your system is designed. This golden rule—building systems around people instead of modeling people to work with systems—is a concept that I teach every business school undergraduate!Amrit Tiwana: The Knowledge Management Toolkit (2000).
Friday, November 20, 2009
Technological Basis of Lift
Before going into details about the development of Lift, I would like to outline the very basic decisions I've made about the technological basis of this project. Some of these decisions are carved in stone already and some are still subject to change.
As my preferred programming language since many years is PHP, this project will surely be based on it. I've played with Ruby on Rails and I really liked it a lot, but I'm not nearly that comfortable with Rails than I'm with PHP. Additionally I'd have to face a steep learning curve, which one the one hand really sounds appealing to me but on the other hand would delay the project by months. Luckily, much of the things I liked about using Ruby on Rails have been brought to PHP by various frameworks during the last months and years. My framework of choice is the Zend Framework. It has a solid MVC architecture and is officially supported by Zend. A possible alternative to that would be FLOW3, the framework developed for the next generation of TYPO3. A big shortcoming of the Zend Framework has always been the handling of models. There has however been a proposal called Zend_Entity, which basically attempted to build an ORM layer into the framework. Recently this proposal was closed in favor of an announced integration of Zend Framework with the Doctrine ORM. I think this was good decision as Doctrine is a very solid object relational mapper and there's no need to reinvent the wheel for the Zend Framework development team. So I decided to finally build Lift on Zend Framework 2.0 and Doctrine 2.0, which of course both are still unreleased versions.
Summarized, this project will be based on an announced future integration of two projects not yet released in the targeted versions. What do you think? Too risky or just bleeding edge?
As my preferred programming language since many years is PHP, this project will surely be based on it. I've played with Ruby on Rails and I really liked it a lot, but I'm not nearly that comfortable with Rails than I'm with PHP. Additionally I'd have to face a steep learning curve, which one the one hand really sounds appealing to me but on the other hand would delay the project by months. Luckily, much of the things I liked about using Ruby on Rails have been brought to PHP by various frameworks during the last months and years. My framework of choice is the Zend Framework. It has a solid MVC architecture and is officially supported by Zend. A possible alternative to that would be FLOW3, the framework developed for the next generation of TYPO3. A big shortcoming of the Zend Framework has always been the handling of models. There has however been a proposal called Zend_Entity, which basically attempted to build an ORM layer into the framework. Recently this proposal was closed in favor of an announced integration of Zend Framework with the Doctrine ORM. I think this was good decision as Doctrine is a very solid object relational mapper and there's no need to reinvent the wheel for the Zend Framework development team. So I decided to finally build Lift on Zend Framework 2.0 and Doctrine 2.0, which of course both are still unreleased versions.
Summarized, this project will be based on an announced future integration of two projects not yet released in the targeted versions. What do you think? Too risky or just bleeding edge?
Wednesday, November 18, 2009
Welcome to the Lift Blog
Lift is going to be a web application and this blog is meant to be covering the development of this application. I'm not going to discuss what Lift is all about for now, as this should be covered later on. As Lift is in an early development phase, this blog for the most part will be discussing technological matters - from strategical decisions to operational solutions. Apart from that there will be some coverage about how to set up an online infrastructure for a team or organization, including communication and collaboration. I'm really excited about getting this started and I encourage you to let me hear your feedback to the things I'll be writing.
In the upcoming posts I'm going to introduce you to my plans regarding the very basic architecture of Lift, including language, frameworks, and environments.
In the upcoming posts I'm going to introduce you to my plans regarding the very basic architecture of Lift, including language, frameworks, and environments.
Subscribe to:
Posts (Atom)