Finally we have nailed it. After many attempts at making a half-decent screencast / tutorial, he have now created two amazing episodes, clean, structured and well articulated. We have also came up with a regular schedule for the up-coming recording.
Agile Toolkit Tutorial #1 – A better web development
Web development does not need to be complex. You have reinvented the wheel way too many times. It’s time to reinvent web development altogether. The source of inspiration for Agile Toolkit – the new web development framework – comes from Desktop and Mobile application development and object oriented toolkits. Our first tutorial episode will give you a very brief, 25-minute introduction to this new framework and will highlight some of main benefits.
Agile Toolkit Tutorial #2 – How to become a web developer
You might have installed WordPress or Joomla for your friends, but have you thought about earning your living with Web Development? To became a successful web app developer you will need to be efficient. You must know how to build software quickly and how to improve it over time without compromises. This tutorial episode will guide you through a prototyping phase of the application. Putting together a basic screens and UI elements just to show to your client or investors is easy and fast in Agile Toolkit. The best part is that you will be able to continue and enhance your prototype until it becomes a fully-featured scalable web application / service.
Take part in the next hangout
We are recording Agile Toolkit Tutorials now on a weekly basis, every wednesday. If you have a microphone you can participate too. We use Google Hangout and ScreenFlow to record and edit episodes. Come along for the next one, register on our Google Event page.
The next episode will focus on the awesome back-end features of Agile Toolkit – Active Record, Object Relational Manager, Multi-table Models and how to use full potential of your SQL database to build scalable web software.
If you have heard about Agile Toolkit but haven’t shared with your developer friends yet, now is a great time. This video is a great introduction to the basics of Agile Toolkit starting from the very start. What is Agile Toolkit? Why was it created? What is it best for? How it compares to other Web Frameworks?
Your questions are answered and the guide gives a great taste of what can be done with Agile Toolkit just in a few moments. This is the first podcast in the series with a new episode scheduled every week.
We are recording episodes live and if you are willing to participate and ask questions, here is the link for the second episode event:
After I have personally whitened the transformation of computer industry with unification of User Interfaces (by Mac and Windows) which is possible through use of Object-Oriented programing techniques. Object-Oriented programming offers many powerful tools to a skilled developer. Similarly Model-View-Controler concept have proved to be easy to understand and use. Unfortunately the typical MVC implementation is not very object-oriented.
If you combine object-oriented principles with Model-View-Controller paradigm properly, this will result in a much more efficient web development environment. In this article I explain object-oriented principles can be combined with MVC paradigm.
NOTE: I am the author and maintainer of Agile Toolkit. Me and my colleagues have built Agile Toolkit according to the principles I describe here. This article, however, is for promoting the fundamental ideas. If you would like to see a fully-practical implementation of Object-Oriented MVC, read introduction to Agile Toolkit. You are also welcome to implement ideas described here in your favourite programming language / framework / development environment or simply extend your out-look and expand your vision of Software Development.
Janis Volbergs and his web development company (Ambient Technologies) have been one of early adopters and supporters of Agile Toolkit. He have been using it before first 4.0 versions even went public year and a half ago. Recently Janis have started his own blog, where he shares some of his own experiences with Agile Toolkit.
Through Agile Toolkit I’m sharing with the world my improved vision for a better Active Record Implementation. I believe that the widely popular Active Record implementations are examples of a bad software design. Here is the reason.
I have asked few people in London, who was up to help me out with Screencasts. Few people responded who have some ideas they wanted to implement in Agile Toolkit. I was able to help them and recorded our sessions. I now have 8 hours of screencast footage, which I’ll be releasing to youtube.
The first 6 one-hour sessions is about creating a simple Task Manager. Many thanks to Maurizio for his participations.
Screencast with me!
If you’ve got Skype and great idea for Agile Toolkit we could help each-other. I can help you move forward with your idea and I would get a material for a new screencast session. Please use contact form to send me your ideas.
I first have learned about Object Oriented in the age of 10, in 1990. I have already mastered BASIC and was exploring the world of Turbo Pascal. My young mind couldn’t grasp the ideas of in capsulation and polymorphism so I asked my mom to help out. She took the book and carefully kept re-reading the introduction.
“Objects. Think Objects”.
Years later I have been eager to apply the Object Oriented principles everywhere: the games I wrote, the demo-scene productions, my copy of multiplayer user dungeon. When I settled in as a Web Developer and learned PHP3.0 I was disappointed at the poor implementation of the objects.
The birth of Agile Toolkit was as soon as the Zend Engine 2.0 alpha was released. I started to re-wrote the framework I had into a new, powerful language. From the first versions the most important distinctive feature of Agile Toolkit today have been embedded into the very core of the framework.
Rendering of the Runtime Object Tree
2-3 decades have passed since the concept of Object-Oriented User Interface have been launched on the desk-top computers. The realization that the elements you can see on your screen have many similarities even through the look differently defines every Graphics User Interface today. To understand this concept Imagine a “button” and a “input field” next to each-other.
Here a two object quite distinctive in their appearance are being rendered by the operating system by calling each object’s rendering function. The system may decide to force objects to re-render or skip rendering if they are not actually visible on the screen.
The exactly same idea is in the foundation of Agile Toolkit. Because I have been creating my own User Interface in Pascal and Assembler this was to me the best possible solution to interfaces in the Web Applications – implement them as a tree of visual objects generated during the run-time of your application and then rendering the necessary components.
Making Interface More “Webby”
Initial implementation of Agile Toolkit was only good to produce back-end administration systems as it was too in-flexible to do the requirements of the creative minds of our web-designers. Many UI Frameworks are destined with the same interface style, but Agile Toolkit was able to introduce a great breakthrough.
All the objects in Agile Toolkit, no matter how complex, are producing a valid HTML code based on object templates. This approach allows to easily change HTML behind individual or all objects and finally produce the great solution for website front-ends. However the default look and feel of Agile Toolkit application gives developers a great start.
With the increasing complexity of our projects, it became apparent that a Objective Model layer is necessary. It finally appeared in Agile Toolkit in 2008 as an optional component. The models in Agile Toolkit serve a different role than the Models of other ORMs and Frameworks. Instead of only offering DataBase engine transparency and populating classes from data structures models in Agile Toolkit introduce a new dimension to modeling – inheritance. You can understand the power of this when you can narrow down values in the drop-down field by simply setting the right model to the reference definition. SQL Databases could not implement such flexibility but a PHP framework can.
RoadMap for Agile Toolkit
Up till now, Agile Toolkit had been walking a different path than other frameworks. Their goal was to provide developers with “utility” or a wrench to do certain things better. Approach of Agile Toolkit is to build levels of abstractions from the very bottom up. I must admit, that I can solve any web-related task with Agile Toolkit, but if I must produce a solution in clear PHP I feel lost and confused.
The immediate road-map for Agile Toolkit is to improve the 3 strengths it has by making it easier to interact and build. The “Model Builder” is in the works, which provides a visual interface to building new model fields and actually generating a PHP file as a result. The syntax of Models is already extremely simple but it will be even more so with the builder.
Another initiative is the User Interface builder. This allows create pages and add objects on your pages with a drag-and-drop interface. Similarly the tool would be capable of outputting a valid PHP code you can then further modify.
The number of Views and Templates will be made available through an on-line repository. In a way this would be similar to WordPress extensions, but tho time you will be installing classes which will aid you in building an Interface. The available views could be either free or paid creating a possible new revenue model for developers. A good example for such an view would be a “Gallery”. You could add this to any application you’ve got and bind it with the model holding images.
I adore web applications, but today it is way too complicated to build a web application. The situation reminds me the “DOS” and with Agile Toolkit I am able to introduce a Graphical User Interface for The Web.
The question I get asked a lot is how to integrate Agile Toolkit with other frameworks.
One of the best qualities of Agile Toolkit is that it can be very nibble when you want to use it to fill the gap. So let’s scrap the whole page routing mechanics and simply create a SINGLE PHP file which would work on it’s own. For this, you will need to have most up-to-date Agile Toolkit (4.1.3).
Once in a while, I see people who are stuck with a problem and who say they have tried everything and it still does not work. I often find myself in a similar situation, but I have found a recipe to resolve it.