miércoles, 16 de febrero de 2011

About CodeIgniter

Between the frameworks I have managed, I consider CodeIgniter is one of the most to develop quality web sites quickly. It shows great versatiliy, is fast because not load too much libraries at beginning and has a rapid learning curve.

I’m working for more than two years with this tool and I thinks is very useful to create web sites, mainly if they use a database. Once you learn to work with it, the developing of the application is immediately.

Basically, CodeIgniter is a tool what uses OOP or Object Oriented Programming and uses MVC (Model/View/Controller) design pattern that let us to divide the developing segments in individual parts. The model let us create the queries to the database, the view is used to visualize and organize the HTML code; and the controller controls all the logic of interaction with the user. This division lowers the errors when you are debugging code and permits a better organization to the code structure.

Advantages

Between the advantages I can mention the faster loading. Because uses few libraries when is starting, CodeIgniter can load the controllers faster.

It owns a quick learning curve. If you know about OOP of course, You can handle this tool more faster in a intuitive manner, since the libraries and functions are few. The manual provided with the application is clear and it explains its internal functionally and the description of main library methods directly.

It manages Active Record. This functionality let make logic sequences of simple queries, which eases time developing.

Interaction with new libraries. It’s easy to develop custom libraries that are called by different controllers.

Disadvantages

Lack of plugin to create CRUD libraries automatically. I suggest should exist such tool in professional editors like Aptana, so one can generate the PHP code from a database model.

Use of CLI to run commands on shell, for example crontabs. Although, according to news, some future version will include this feature.

Suggested Editors

Aptana is a PHP versatile editor that supports from 4 to 5.3 PHP versions. It identifies the PHP language structure and detects syntax errors. Is very useful.

If you need an WYSIWYG editor, you can try Dreamweaver.

CodeIgniter can be downloaded from the website: http://codeigniter.com

Acerca de CodeIgniter

Entre los frameworks que he manejado considero que CodeIgniter es uno de los mejores a la hora de desarrollar rápidamente sitios web de calidad. Presenta una gran versatilidad, es rápido por su baja carga de librerías y tiene una curva rápida de aprendizaje.

Llevo más de 2 años trabajando con esta herramienta y me ha parecido muy útil a la hora de crear sitios web que interactúen con bases de datos. Una vez se aprende a trabajar con la herramienta, el desarrollo de la aplicación es inmediato.

Basicamente CodeIgniter es una herramienta que usa POO, o Programación Orientada a Objetos y utiliza el patrón de diseño MVC(modelo/vista/controlador) que permite separar los segmentos de desarrollo en partes independientes. El modelo permite crear las consultas a bases de datos, La vista permiten el manejo del código HTML y parte visual básica, y el controlador permite el manejo de toda la lógica de interacción con el usuario. Esta separación minimiza los errores a la hora de depurar el código y le da una mayor organización a la estructura de código.

Ventajas

Dentro de las ventajas que posee este framework se pueden mencionar su rapidez de carga. Al llamar a pocas librerías en el momento de arrancar, permite cargar velozmente las páginas.

Posee una curva rápida de aprendizaje. Si se tiene conocimiento previo de POO claro esta, se puede aprender a manejar la herramienta rápidamente y de manera intuitiva, pues las librerías y funciones a manejar no son muchas. El manual es muy claro y explica su funcionamiento interno y la descripción de los métodos de las librerías principales.

Maneja Registro Activo en BD. Esto permite crear secuencias lógicas de consultas simples, lo que facilita el tiempo de desarrollo.

Interacción con nuevas librerías. Es fácil crear librerías personalizadas que interactúen con varios controladores.

Desventajas

Falta de plugins para la creación de Librerías CRUD. Sugiero que debe existir en editores profesionales tales como Aptana algún plugin que permita crear código de CodeIgniter a partir de un modelo de BD.

Uso de CLI(command line input). Es necesario el uso de CLI para ejecutar comandos que deben correr por un Shell, como por ejemplo crontabs. Sin embargo, según noticias, en próximas versiones lo piensan incluir.

Editores sugeridos

Aptana es un editor de PHP versátil, que soporta versiones de php desde la 4 hasta la 5.3. Reconoce la estructura de lenguaje de PHP e incluso detecta errores de sintaxis.

Si se necesita un editor WYSIWYG, se puede optar usar como complemento a DreamWeaver.

Esta aplicación la pueden descargar en http://codeigniter.com