Agile Toolkit is collection of frameworks, tools and services that are most suitable for the following use-cases:
It is also possible to build other application types, but we have designed a different learning paths that individually focus on the above 3 use-cases.
Areas in which Agile Toolkit excels when compared to other frameworks and toolkits:
Defining business logic, especially in a financial applications where a lot of calculations are needed.
Creating consistent User Interface without messing with HTML templates.
One of the reason why Agile Toolkit is able to captivate developers is because it has it's own "unique" approach to doing things. If you know some other PHP framework, than you need to be prepared that ATK might be doing things slightly differently.
Designers of the framework, however, have always made choices that will benefit your efficiency so spending some time trying to understand why things are done in certain way will help you learn something new and something useful.
Some core philosophies of Agile Toolkit are:
By design - your application is extension of Agile Toolkit so many of the design principles will extend to your code. If your style is consistent with the framework, other developers will easily be able to understand and maintain your software.
Versions up to 4.3 have been developed and distributed as a single repository of code. Starting with 4.4 we are breaking functionality into individual repositories, however the ZIP file you're downloading from the main website still contains all the same functionality.
If you use Agile Toolkit for your own project but your full-time job uses a different framework, you can now use a piece of ATK that you really like.
Agile Data is a powerful and elegant enterprise-grade data abstraction framework. When used correctly you can avoid gradual corrosion of your code and ensure that it's easy to maintain and enhance even with a bigger developer teams.
Agile Data can be used with any framework or PHP application. It is available under MIT license and you can learn more about it on the dedicated Github page.
Agile Toolkit distribution incorporates and enhances Agile Data to further integrate it with the UI layer. If your code already uses Agile Data, you can easily build Admin and Frontend UI. You will find several guides no how to do this.
As far as 'efficiency' goes - when your data layer is built according to standards defined by Agile Data, any UI module designed to work with "Agile Data" will be able to work with your models.
The add-ons you can get for Agile Toolkit will rely on Agile Data. Presence of data access standard allows us to simplify integration between a generic UI widgets and your specific data entities.
Agile Toolkit relies on Agile CSS framework, which is a separate project. The core goal of CSS framework is to supply flexible CSS classes that can be used to design Web UI elements (buttons, menus, forms, etc).
The standard HTML templates that use Agile CSS are used as a "default UI", so when you are installing 3rd party add-on, it will rely on the same CSS classes. Any UI that add-on brings into your application will be consistent with the rest of your UI.
Technically you could replace CSS framework with another one, but you would need to adopt add-on UI yourself.
Existence of standard UI allows application developers and add-on developers to create compatible UI that further saves your time.