The "GeneXus Career" is an educational program focused on providing the necessary knowledge to develop applications with GeneXus.
PlantCare: sample of multi-device app created with Sketch in record time
If you think that two-months’ time to create an app with a spectacular frontend and also compatible with iOS, Android and Angular is unreal, then keep on reading, because it’s absolutely possible!
PlantCare is an example of an app for an e-commerce system based on an online store that sells indoor and outdoor plants. The KB is licensed under Apache 2.0, from which you may download the base for your projects.
The requirements included:
- Having an attractive design, similar to professional apps on official stores.
- Functioning efficiently on iOS, Android (Phone & Tablet), and Angular (Phone & Desktop).
- Backoffice for product management.
- Batch processes for test data importing.
- Unit tests for main processes.
- A 3-month period.
Upon being presented with the project, at a glance, I did not see it feasible in less than two months, even more so considering previous experiences in the development of mobile apps and their differences between platforms. Additionally, there was the inclusion of the
new Angular generator
and all that this entails.
As we moved forward in the planning stage, I realized that I would be part of a work team where I was the one in charge of development, along with Natalia Rudomin who would do the design, with Mauro Canziani supervising it. Damian Salvia was to work together with Natalia and myself to make the import from Sketch to GeneXus as clear as possible, while Martín Torrado would catch issues, as Armin Bachmann led the team. It was then clear that we would indeed make it to the deadline with a successful project!
Besides the above, the design did not call for development from scratch, for they provided me with a Sketch file that was imported into GeneXus, which automatically created the panels necessary, including their various layouts. Of course, it was not just importing and executing, since minimal corrections had to be taken care of, but it was very far from the work that doing all this manually could have implied.
My biggest concern was then the time necessary for things to work similarly on the three platforms and on diverse devices. Based on my previous experience, and in reference to apps with modern and professional UIs, too much time is put into slight visual and behavioral differences. At this point, it was a nice surprise to find out that, in the latest upgrades, this was no headache, and only minimal and logical adjustments were required due to the different functioning of the platforms and their guides.
In sum, thanks to this super team -whose participation and commitment I strongly appreciate-, we were able to conclude the project in less than three months and create a multi-device app that actually works and looks spectacularly well!
Some notes I could draw from the project:
- In developing this type of apps, when we want to be competitive in the stores market, it is important to invest in a professional design.
Based on the above, in order for programmers to become more productive, we should try the
import from Sketch or Figma
Development turns faster when using
for repetitive UI objects and without logic.
… obviously, I’m not introducing anything new, but a minimal effort in this sense enables the automation of tests in the CI cycle and the possibility to promptly discover any errors.
- When in doubt about including a new frontend platform in GeneXus, consider that most concerns are usually exaggerated. The test is simple, and the outcome will most likely be satisfactory, save for some minor adjustments.