Embracing the Future: Navigating the Shift in App Development Trends Driven by AI Innovation
Since late 2022, ChatGPT has rapidly gained traction. Numerous services utilizing ChatGPT have emerged, attracting attention from many interested parties. In this article, we will discuss the impact and changes that ChatGPT brings to mobile app development. This includes a significant amount of speculation, so please be aware that there’s a high likelihood of being off the mark.
Potential uses of ChatGPT
From a programmer’s (app developer’s) point of view, there are several possible ways to utilize ChatGPT:
This has already been implemented in GitHub Copilot (based on OpenAI Codex provided by OpenAI, the developer of ChatGPT). It offers code suggestions when you’re writing code, a feature distinct from code completion. Code completion involves statically analyzing the code and completing class methods or variable names.
On the other hand, code suggestion analyzes the code and proposes the predicted next steps. For instance, when you write code to process one property among several, it suggests additional code for handling the other properties. The programmer simply reviews the content and presses the tab key to complete programming. It’s also handy to have the capability of completing function names. While comments are also useful, GitHub Copilot can predict and write the code based on the function name. The CEO of GitHub has stated that eventually, 80% of the code will be AI-based. Having experienced GitHub Copilot and ChatGPT, you might feel that this prediction isn’t far off.
ChatGPT is frequently used to review written code. By submitting your finished code to ChatGPT for review, it can refine the code to increase its readability or add comments. It’s not just a review but a generation of improved code. Comparing this revised code to the original can help you understand what constitutes better code. If you’re waiting hours to days for a code review, having ChatGPT do it quickly is more convenient.
Generating test code
ChatGPT can generate unit test code or browser test code based on the finished code. Writing test code can be burdensome, but having it auto-generated makes the task considerably easier. Even if it’s only the test code for the standard operation, having a base greatly reduces the time required. This test code generation also takes into consideration the analysis of the original code, essentially producing optimized test code for your code. This provides a significantly different experience from finding test code base online and having to write it yourself.
Teaching how to use libraries or APIs
ChatGPT is a handy tool when you need to understand the use of APIs or libraries that you rarely use. Of course, you can read the documentation to figure out the usage, but it may not necessarily fit your specific needs. Understanding the documentation and customizing the exemplified code to meet your needs can be required.
In the case of ChatGPT, it generates optimized code in accordance with the requirements of your questions. Try using it to learn how to use mapping libraries or Canvas, and you’ll surely appreciate its astonishing capabilities.
Generating a Base
There is a service called GPTApp that has already been released. This displays the content asked from ChatGPT as a web application. If the requirements (prompts) are correct, the application will be generated as desired.
One interesting point about this usage is that it can automatically generate tutorial-like applications. Monaca has various demo apps and tutorials prepared, but it will be possible for users to generate what they expected originally. The content you wondered “how to create such an app” will be deployed as an app.
Of course, vague requirements will not result in the expected output. This is called prompt engineering, and the ability to make correct requests to ChatGPT is required.
Please note that what follows contains much speculation.
Free Selection and Generation of the Base
When developing an app so far, you would have selected a template, for instance, content like Vue.js and Tailwind. It seems that the generation of such base apps will become freely feasible.
For example, you might be able to freely generate an app just by selecting things like Vue.js for the framework, Tailwind for the CSS framework, and a tab view for the screen. The reason for the selection style is to improve precision more easily than free text input.
Creation of Backend Architecture from Requirements
By inputting the requirements of the project, it might suggest the backend architecture of the app and generate the necessary code. It may guide you on how to use Nifcloud mobile backend or Firebase as mBaaS, and it may also output code for AWS CloudFormation.
Similarly, it may suggest the structure of the database and output SQL.
Code Generation as a Basis
If GitHub Copilot or the next-generation GitHub Copilot X is used, it will become standard to use generated code rather than writing it. The issue here is that the programmer is responsible for the generated code. You can’t blame GitHub Copilot if there’s a bug. Whether it works correctly or not, the programmer needs to check and approve.
Therefore, as a programmer, you will need the knowledge of code reading and the skill to correct it when it’s wrong. Of course, the skill to correct can only be acquired by actually writing code. Just because automatic generation has become standard, it doesn’t mean that you can have low skills as a programmer. Rather, the skill to discern whether code that seems fine is really okay is needed. This will become an eye as a reviewer, so the skill must be even higher.
Need for Prompt Skills
In order to have the AI generate the code you expect, prompt engineering skills are required. You need to correctly judge the requirements of the app and put them into sentences.
However, you are not writing sentences like programming. A level of writing skills that does not cause discrepancies in AI recognition will be required.
To improve prompt engineering skills, you first need to touch the current AI and learn what kind of results you get from the kind of sentences you are inputting.
Connecting the Generated Code
While I think this will change in the future, with the current AI, it is basic to generate one screen’s worth of code in one prompt. To create an app that spans multiple screens, the prompts and responses become too long.
Therefore, you will need the technology to output the code for each screen and connect it to make an app. Care must be taken to ensure that discrepancies do not occur between screens. For example, if the main screen is Vue.js and the list screen is React, the app will be difficult to develop. Prompt skills are important to avoid such problems.
ChatGPT has great potential not only in development but also in website documentation, help, and marketing. In other words, it will become an unmissable existence even for people other than programmers.
ChatGPT is already integrated into many services and is being used experimentally within companies. This could be close to the impact smartphones had when they were introduced. Around 2008, many smartphone-related services were launched and the way to connect them to business should have been considered internally. This could be a reoccurrence of that.
Try it out first and explore the possibilities.