-
CodeIgniter is an open-source PHP framework, build for RAD development. This framework is continuously growing in popularity, probably especially since people realized that is much easier to use an open-source framework instead of developing an internal one, but that’s another story. The CodeIgniter 1.7 book from PacktPublishing, written by Jose Argudo Blanco and David Upton is building a big picture about the CodeIgniter 1.7 framework, as an addition to the reference manual.
After all every respectable framework has an detailed reference, with usability examples, more or less comprehensible. When it comes to learning an framework (and not only), an reference is usually not the best place to start from, because is hard to get the big picture when you can only receive atomic answers. That’s why we buy books this days, to have a general image with problems and solutions. And this is where the CodeIgniter 1.7 book comes in.
Initially, when I’ve seen that the title has the version number of the analyzed framework I was a little pessimistic, because usually when you buy a book you don’t want it to be tight up to particular version, isn’t it? Well, not exactly… I had a similar issue with Zend Framework, most books use “older versions” (ex: 1.5-1.6) and I wanted to see an approach using the new features from version 1.8 or greater. After all when you start learning something you usually want the latest version of the framework or what ever it is that you are learning, and when new features appear it will be much easier to simply look then in the reference guide since you already know the basics.
This book seams to start from the beginners level and progressively describe both basic elements as well as the most common problems the user may encounter when developing apps using the CodeIgniter framework. The sample chapter, looks pretty well structured and easy to understand, and from the table of contents it seams to approach all the important subjects. With the hope that the rest of the book will be just as well structured (I’m actually judging a book by the cover?) and a second part to this review will follow I can’t barely wait for the book.
To be continued…
-
Last week I was supposed to create a little project. Requirements were short: interoperability.Given the fact that I’ve never used Adobe AIR before, I thought it was a good opportunity to try it.
The result was a small project management app. For the server-size I’ve used PHP + SOAP + Zend Framework, and for the client I’ve used Adobe AIR with JavaScript.
I’ve created the server in a few lines:
1<?php 2// autoload class for Zend Framework 3include 'Zend/Loader/Autoloader.php'; 4 5// class that deals with SOAP requests 6include 'SOAP.class.php'; 7 8// initialize autloader 9Zend_Loader_Autoloader::getInstance(); 10 11// if it's a request for the WSDL descriptor file 12if(isset($_GET['wsdl'])) { 13 $autodiscover = new Zend_Soap_AutoDiscover(); 14 $autodiscover->setClass('test'); 15 $autodiscover->handle(); 16// if it's a SOAP request 17} else { 18 $soap = new Zend_Soap_Server("http://localhost/soap/index.php?wsdl"); 19 $soap->setClass('test'); 20 $soap->handle(); 21} 22 23?>The descriptor is build automatically using PHP Documenter type comments from the class that handles SOAP requests, if this case it’s named “test”.
This was the easy part so I’ve moved on to the Adobe AIR client following this simple steps:
- Download and install Aptana Studio
- Install Adobe AIR plug-in
- New project -> Adobe AIR
- and voila! Coding can begin!
Adobe AIR is using for a JavaScript engine Webkit. Sounds familiar? Webkit is used by Safari and Google Chrome. So the JavaScript code should only be compatible with Webkit!
Of course there is a “but” and a plus. The “but” is that there are some restrictions, for instance “eval” can only be used to decode JSON, and the text introduced directly in an element (as text) can not be executed:
1div.innerHTML = "<a onclick=\"alert('ceva')\" href=\"#\">click</a>";This link will get to the element by will not run anything on “onclick” because the parameter was send as text.
This was a pretty big disadvantage for me, but I’ve managed to figure out an alternative by building HTML elements using DOM and adding events using addEventListener.
Briefly Adobe AIR is using this formula:
1Adobe AIR = (Webkit)Web Development - security + air framework.It seems very easy for a Web Developer to develop desktop apps with Adobe AIR.
Of course is not very fast and it’s not looking like a good idea for complex apps. But if your thinking about medium and small apps, if I had to choose between Adobe AIR and PHP GTK for instance, the first option seems a lot more viable and easy to use!
In the end the project was ready in less then 3 days and the graphics were gorgeous! It didn’t even look like it was build using only HTML and JavaScript!
-
If your like me you prefer manuals in CHM format.
Unfortunately Zend Framework manual is only in .pdf and a little less obvious in HTML format.
Fortunately generating a format CHM manual is easy(really, it is).
The steps are:
-
Download and install HTML Help Workshop.
-
Download the Zend Framework manual in HTML format, the link is in bottom right, not very obvious I believe.
-
Open HTML Help Workshop.
-
File->Open and from the folder where the manual files are open htmlhelp.hhp
-
File->Complile
Done!
The compiled CHM manual is just few steps away!
-
-
Today the JavaScript Games section is officially launched! The games have been recently created, after the model of classic games.
I’ve started the first game to show a friend that it is possible to build this kind of apps with JavaScript. And this is one of the main ideas of the section: interactivity in the browser using only HTML, CSS and of course JavaScript!
Today I make them public because is a shame to not give others the chance to waste time playing :).
The games should work cross-browser, they don’t have HTML 5 or other stuff that can lead to incompatibility. They shall prove the power of JavaScript, without any other sophisticated tools.
Many games are not well finished, but I hope that with time I’ll resolve the issues, add new features and of course new games. For suggestions and issues, please send an e-mail to claudiu@claudiupersoiu.ro.
Have fun!
-
After more than a year of using YSlow, apparently with the arrival of FireFox 3.5 this plug-in is no longer supported.
YSlow is a very interesting tool created by Steve Souders, who wrote High Performance Web Sites, and the new Even Faster Web Sites.
The plug-in, which used the FireBug extension, was a practical tool to analyze performance by the 14 rules described in the book, giving grades to pages at loading. A very useful tool, both for designers and front end developers.
But with the launch of FireFox 3.5, which brings many improvements in speed, YSlow becames incompatible. After what seemed like Yahoo! will totally give up the project a new version appeared. Unfortunately this version is not exactly functional. I do not know if is my FireBug version or just the update was made to shut the mouth of those who complain about the incompatibility.
Google has not launched any time this infra. After launching Google Speed, it seems that not late after that, appeared a substitute for YSlow, named Google PageSpeed.
PageSpeed structure is similar to YSlow, anyway optimization rules are the same for everybody, it’s just how they are approached.
What is more important PageSpeed is compatible with FireFox 3.5.
An interesting fact to know is that Steve Souders now works for Google, maybe this is one of the reasons for which these rival tools, produced by two Internet giants have reached these state.
