Artificial Intelligence and auto-generation of code
Cheng, John (2018)
Cheng, John
Haaga-Helia ammattikorkeakoulu
2018
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2018053111575
https://urn.fi/URN:NBN:fi:amk-2018053111575
Tiivistelmä
2018. At the time this thesis is written, software and especially mobile apps are starting to occupy a huge part of our everyday life. The development team is one of the key-factor deciding the success or failure of a project. Indeed, they are responsible of implementing all the ideas presented by a product owner which are made true by designers.
An app is composed of two parts:
− the Front-End that corresponds to the User Interface, the link between a user and
an app
− and the Back-End which is basically the brain, the logic behind every action, every
process of an app.
Those working on both are called Full-Stack developers.
Me being part of that category and based on experience, a recurrent problem resides in the time spent to implement the “face” of the app and improve the user experience sometimes at the expense of the “brain”. The result being beautiful apps design-wise but lacking in functionality or practicability.
In order to resolve that handicap, delegating a part of the work to the machine came to mind. Also, Artificial Intelligence is the state of the art technology right now. The goal is to research the possibilities to exploit the processing power and capacity to follow orders of the machine to help developers.
The idea is to feed the machine with a design mockup and based on that, it will be able to recognize and return a code based on the different components and layout found.
By reading this thesis, neophytes will be able to understand the different steps needed to explore a solution with deep explanation of what machine learning is and how to use it for visual recognition.
Furthermore, as machines are extremely good at reproducing, a way to facilitate teams transitions in projects is also detailed.
Finally, a solution is provided where a design will be fed to the Artificial Intelligence and an HTML code is received.
Being a subject relatively new for the time of the thesis, the material and help to implement the final solution are limited. That is why, even incomplete, it should be considered as a boilerplate to continue working on to further improve it.
An app is composed of two parts:
− the Front-End that corresponds to the User Interface, the link between a user and
an app
− and the Back-End which is basically the brain, the logic behind every action, every
process of an app.
Those working on both are called Full-Stack developers.
Me being part of that category and based on experience, a recurrent problem resides in the time spent to implement the “face” of the app and improve the user experience sometimes at the expense of the “brain”. The result being beautiful apps design-wise but lacking in functionality or practicability.
In order to resolve that handicap, delegating a part of the work to the machine came to mind. Also, Artificial Intelligence is the state of the art technology right now. The goal is to research the possibilities to exploit the processing power and capacity to follow orders of the machine to help developers.
The idea is to feed the machine with a design mockup and based on that, it will be able to recognize and return a code based on the different components and layout found.
By reading this thesis, neophytes will be able to understand the different steps needed to explore a solution with deep explanation of what machine learning is and how to use it for visual recognition.
Furthermore, as machines are extremely good at reproducing, a way to facilitate teams transitions in projects is also detailed.
Finally, a solution is provided where a design will be fed to the Artificial Intelligence and an HTML code is received.
Being a subject relatively new for the time of the thesis, the material and help to implement the final solution are limited. That is why, even incomplete, it should be considered as a boilerplate to continue working on to further improve it.