AppFactory: Delphi for Android Winner App
AppFactory (screenshot in studio!)
Pavel Litvinko (the author of the project, received the most expensive prize - a commercial license for RAD Studio XE5) was so kind that he even made a very high - quality video review .

The point of the application is to create applications without programming.
There are 2 applications. The first, AppFactory, allows you to visually (without programming) create a “template”, “prototype”, “design-time-model”. This “template” with “content filling directives” is stored in an external xml file. The second application - AppProducts - downloads the “template” and on the fly forms a fully functional mobile domain-specific solution.
Whoever has not caught up with the essence of the system, remember CMS, dynamic generation of the interface according to the given configuration, Delphi itself with the “Object Inspector” and dmf / fmx. We launch AppFactory and work in it as in the visual designer, adding widgets, marking up the interface (still similar to the report designer). There we visually define “content”.

Then we launch another application - AppProducts, which, according to the selected “configuration”, makes a “runtime” as a player of the Flash technology. It looks decent (and the application is native).

Analysis
The idea of the application is not to say that it is conceptually supernova. The author’s performance is amazing. Pavel made a “design time Wednesday.” The use of Delphi is masterly (this was one of the criteria for evaluating the project by the jury), in fact, the author on Delphi wrote a mini-Delphi for Anroid. Competition-competition, but such an implemented project in the portfolio of a young developer is much better than the classic phrase "easy to learn." Pavel Litvinko very successfully invested in himself, and also showed his readiness for the professional development of monetized solutions. I won’t be surprised if Paul receives an offer that is difficult to refuse.
Future
Pavel received a license as a prize, in the near future we expect the application to appear on GooglePlay.
I asked Pavel to create an application using his solution on the topic “Shelter for pets” as an approbation of the solution. The real case is that such organizations do not have the means for "full development", but the budget option without programming is the thing.
As it will be ready (I'm currently in the testing phase), we will publish it.

The competition “Pascal Interpreter for Android” was also submitted to the competition, the author of the project is Alexander Sakharov. It turns out that Pavel wrote “mobile Delphi-IDE for Android”, and Alexander wrote “the second part of mobile Delphi”. Watch for publications, a review of the "interpreter" will be soon.
I, perhaps, could very well use such a light-weight tool to “lure a customer”. And even “design approval” (“mocap”). Or even steaming in the guise of a “custom designed app”.
Interview with the prize-winner (more technical details on the project - who better than the author will tell about his work?)

photo from the Embarcadero workshop in Minsk on the launch of RAD Studio XE5
1. How are you, where are you?
My name is Litvinko Pavel. I am a 2nd year student at the Belarusian State University of Informatics and Radio Electronics at the Department of Information Technology Software. Specialty software engineer.
2. Caught, obviously, not by accident. At what age did they start programming? Did your parents help? Teachers? Self-taught?
Yes, that is right. Incidentally, I got after winning the International Competition of Young Scientists (XIXth International Conference of Young Scientists), held in the Netherlands in 2012. But first things first. I wrote my first “Hello World” in Delphi, aged 11-12. I studied programming completely independently, I overtake the program of study for 3-4 years in terms of programming. OOP has not yet begun to pass.
3. What programming languages / technologies do you know?
Delphi, C, C ++, HTML
4. You have implemented a rather complicated application, at least for a student, that requires not only the ability to “inject the algorithm”, but also an understanding of how the application works, what the interface consists of, how the functionality “beats” into component modules. Does Delphi not seem to you too simple or “unfashionable” technology?
Of course not! Delphi is the main language in which I write my projects. With Delphi, to write a program, I don’t need to think about any features of the language, come up with complex constructions to solve simple problems, and at the same time it has everything to implement any, even the most complex idea. Especially now, with the release of versions of XE4 and XE5, when Delphi can be written for iOS and Android, in my opinion, it has a second wind. What was the surprise of my friends and teachers at the university when I showed them my Android application written in Delphi!
5. The very idea of the project - where did it come from? Even if you took someone’s ready-made analog and creatively reworked it, this is already a huge deal! Tell us about the history of the project.
I was not based on any other development, the idea arose from me initially, even if at the moment it looks like something already existing. It all started with the desire to create and compile programs directly on a tablet or phone. (It would be very convenient to do laboratory programming on lectures or in breaks between pairs). But to my surprise, nothing of the kind was found. So the idea of a mobile development environment for mobile applications. Writing a full-fledged compiler is a long-term task and far from simple, therefore it was postponed until better times, but creating a visual designer of programs is possible, and quite quickly.
Next, the thinking of the idea began, the study of options for building a program, the search for a strategy for creating programs by the user. Then another idea came up. Why not create a program that absolutely anyone could use? What if mobile applications are made another way of sharing information (such as presentations) that everyone can access? What if we expand the scope of the concept of a “mobile application” and allow users to freely create and share interactive content? All this became the project’s super task.
6. Now about the functionality of the project. I described your decision with the eyes of a user. Please, "through the eyes of the creator."
Creating an application in AppFactory is really very simple and fast.
The project includes 2 applications:
- AppFactory - a program for building applications;
- AppProducts is a program for launching finished products.
The editor is built in such a way as to separate the design of the application from its content. The main content is widgets in which the content is placed.
Each widget is a fully customizable module that has certain functionality. The user simply adds the necessary ones, depending on the task of the application being created, and adjusts them accordingly.
Widgets are the main part of any application created in AppFactory. In the settings of the created application, you can specify how to display them (and, accordingly, navigate between them): a list or tabs. So the menu of the future application is constructed.
To create a general view of the application, interface elements are used that are similar in principle to working with VCL \ FMX Delphi components: images, labels, panels, and so on. Their properties are also flexibly configured in AppFactory. The finished application can be immediately launched on your mobile phone using AppProducts.
Why do we need AppProducts? Of course, I really wanted to collect .apk files directly on the smartphone, but, unfortunately, due to the specifics of the format, it is not yet possible to do this, although it will be possible to do this in the future. Therefore, you need a separate program to run applications, but you can also export the application to Delphi source code for independent compilation.
Created applications can be freely exchanged, the main thing is that AppProducts is installed on the client. In accordance with the goal of the project, this is not critical at all, but on the contrary will contribute to the dissemination of the idea of creating and sharing interactive content.