If the sound of ATK sounds unfamiliar, then consider the following question: Is developing web applications super fast an important factor to your software development career? If the answer to this follow up question is yes, then ATK might be the PHP framework to give a very high consideration to.
First and most importantly, the author would like to commend the creator of ATK, Ivo, and his team for creating a fantastic framework for PHP development.
If the sound of ATK sounds unfamiliar, then consider the following question: Is developing web applications super fast an important factor to your software development career? If the answer to this follow up question is yes, then ATK might be the PHP framework to give a very high consideration to.
When the author first made the decision to port all his applications from PERL to PHP, he started looking for solutions that would allow him to work the way he was accustomed to working in PERL, so he could get his job done faster.
To accelerate the application development process in PERL, he wrote a mini-engine that would generate the entire code-set of a database driven application. After he started hitting walls in PERL, he realized that PHP had a lot to offer for web applications and his hunt began for the appropriate solution.
He tried several PHP packages but nothing seemed to satisfy his needs to create applications that he could use in a production environment. He first learned about ATK in May 2005 from a post at Slashdot.org. He visited the ATK page, tried the demos and bookmarked the page on May 19, 2005.
At first he was not very impressed with what he had seen in the demos. It wasn’t until later that he realized that the demos, do not do justice to the power of ATK. At first hand, the demos look and navigate like anything anyone would expect on an application, but when taken a closer look at the source code and look back at the interface, it is easy to see the minimal code needed to create such smooth functionality.
For what ATK could do, the author thought that the learning curve was too much and at the time he just wanted something that would get the job done. In either case, he put ATK in the back burner and continued his search for the next best thing. He looked just about everywhere that he could have access to. Tried customizing a few solutions here and there, but it would take him a very long time to implement the goodies that he wanted to be productive in a short amount of time.
After exhausting all his options, he decided to go into the pages that he had bookmarked in the past few months and give ATK a second look. By then it was, October 2005, and he was convinced that there was nothing else out there better than ATK to develop web-applications relatively fast. Although not required, he gave his donation for the first time ever to an open source project.
To lessen his fear of what he thought was going to have a huge learning curve, He resisted coding right away and instead, decided to read guides provided on the documentation section of the site located at:
http://www.achievo.org/wiki/ATK
Then downloaded ATK from:
http://www.achievo.org/atk/download
After reading and practicing the examples on the guides the author started creating his own application. He started by creating a basic proposal application, which was composed of four parts:
- The company information of the user
- The customer information
- The job location information (a customer could have multiple job locations)
- The proposal information
He had the application up and running within a day(about 4 hours). On the second day he enhanced the application and presented it to the potential user. During the presentation the user wanted a small addition to the interface, which the author was able to add in 30 seconds.
From creating his first application the author learned a great deal about ATK. He managed to squeeze the following features into his proposal application:
- Help content specific to each section
- PDF creation of the proposals for printing using FPDF (not part of ATK but easy to integrate)
- Upload files
- Create attractive content
- Associate proposals to customers and job locations through relationships
- Duplicate(copy) records with the click of one button
- Make mandatory fields through a simple flag and have them validated automatically by ATK
- Make searchable fields through a simple flag
- Ability to select/deselect multiple records with a simple flag
- Organize fields within tabs
Best of all, ATK, allows the author to quickly create an application based on a given database table information, just like he was accustomed to in PERL. By using the ATK component called, atkMetaNode, the developer can have ATK create the entire code and navigation for a specific table. This was the secret to the author adding an additional field to the proposal application and have it displayed on the interface within 30 seconds.
It is the author’s best intentions to have given developers of PHP an overview of what ATK can do for them to improve the development process of web applications in PHP.
Jorge Garifuna
Professional Web Developer
Garinet Global Inc.
http://www.GariDigital.com