Hello everyone, we are starting the review of the results of
the Autumn Mobilization contest . At first I conceived a review in the format “It can Delphi XE5 for Android”, but the contestants were so impressed with their technical imagination and creative embodiment that now the subject of the reviews is “You can do this with Delphi XE5 for Android”. Just a minute of patience, you will not be disappointed. Now we will see the “mini-mobile RAD-tool”, made like Delphi, on Delphi and with the possibility of subsequent export to Delphi.
AppFactory (screenshot in the 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 meaning of the application is to create applications without programming.
There are 2 applications. The first, AppFactory, allows you to visually (without programming) create a “pattern”, “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 subject-oriented solution.
Who has not yet caught up with the system, remember CMS, dynamic interface generation for a 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). In the same place we visually define the “content”.

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

Analysis
The idea of ​​the application is not to say that it is conceptually supernova. The efficiency of the author is amazing. Pavel made a “design time environment”. The use of Delphi is a virtuoso (this was one of the criteria for evaluating the project of a competitive jury), in fact the Delphi author wrote a mini Delphi for Anroid. Competition-competition, but such a 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 readiness for professional development of monetized solutions. I would not 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 Paul to create an application using his pet shelter solution as an approbation of the solution. The real case - such organizations have no means for “full-fledged development”, but the budget option without programming is the very thing.
How will it be ready (I'm in the testing stage now) - we will publish it

The competition also submitted the work "Pascal Interpreter for Android", the author of the project is Alexander Sakharov. It turns out that Pavel wrote "mobile Delphi-IDE for Android", and Alexander - "the second part of mobile Delphi". Follow the publication, the review of the "interpreter" will be soon.
I, perhaps, could well use such a light-weight tool for “luring the customer”. And even “design approvals” (“mocap”). Or even under the guise of "a specially designed application for the order."
Interview with the winner (more technical details on the project - who better than the author will tell about his work?)
Photos from the Embarcadero seminar in Minsk dedicated to the launch of RAD Studio XE51. How are you, where are you?My name is Pavel Litvinko. I study at the 2nd year of Belarusian State University of Informatics and Radioelectronics at the Department of Information Technology Software. Specialty software engineer.
2. Hit, obviously, not by chance. At what age did you start programming? Parents helped? Teachers? Self-taught?Yes, that is right. By the way, I got after winning the International Competition for 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 at the age of 11-12 years. I studied programming absolutely independently, I overtake the program of studies of the year by 3-4 in terms of programming. OOP has not yet begun to pass.
3. What programming languages ​​/ technologies do you own?Delphi, C, C ++, HTML
4. You have implemented a rather complicated, at least for a student, application that requires not only the ability to “hammer in an algorithm”, but also an understanding of how an application works, what the interface consists of, how the functionality “fights” into component modules. Delphi does not seem too simple or "unfashionable" technology?Of course not! Delphi is the main language in which I write my projects. With Delphi, in order to write a program, I do not need to think about any features of the language, come up with complex structures 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 XE4 and XE5, when you can write on Delphi under iOS and Android, he, in my opinion, opens his second wind. What was the surprise of my colleagues 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 analogue and creatively reworked it, this is already a huge deal! Tell us about the history of the project.I was not based on any alien development, the idea initially came to me, even if at the moment it looks like something already existing. It all started a desire to create and compile programs directly on the tablet or phone. (It would be very convenient to do laboratory programming at lectures or in breaks between pairs). But to my surprise, nothing of the kind was found. So the idea of ​​a mobile environment for developing mobile applications. To write a full-fledged compiler is a long-term task and far from simple, so it was postponed until better times, but you can create a visual designer of programs, and quite quickly.
Then began thinking about the idea, elaboration of options for building a program, searching for a strategy for creating programs by the user. Immediately there was another idea. Why not create a program that absolutely anyone could use? What if you make mobile apps one more means of sharing information (like presentations) accessible to everyone? What if we push the scope of the very concept of a “mobile application” and allow users to freely create and share interactive content? All this has become the project's most important task.
6. Now about the functionality of the project. I described your solution with the user's eyes. Please, "through the eyes of the creator."Creating an AppFactory app is really very simple and fast.
The project includes 2 applications:
- AppFactory - a program for constructing applications;
- AppProducts - a program to launch finished products.
The editor is designed to separate the design of the application from its content. The main content consists of widgets in which the content is placed.
Each widget is a fully customizable module with specific 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 the way they are displayed (and accordingly navigate between them): a list or tab. This is how the menu of the future application is constructed.
To create a general view of the application, interface elements are used, which are similar in the way of working with VCL \ FMX components of Delphi: 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 you 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 may be possible to do it in the future. Therefore, a separate program is needed to launch applications, but you can also export the application to Delphi source code for independent compilation.
Created applications can be freely shared, as long as AppProducts is installed on the client. In accordance with the objective of the project, this is not at all critical, but on the contrary will contribute to spreading the idea of ​​creating and sharing interactive content.