2024年04月25日

Summary of AI-assisted development fields and representative services.

Categories:Technology

Tags:AI,Generative AI

Knowledge_seci_model

In recent years, the way development is done has drastically changed due to AI. Those who have actually incorporated generative AI into their development process may have noticed a significant reduction in coding volume compared to before.

The CEO of GitHub predicts that eventually 80% of coding will be done by AI. Indeed, many people may feel that this is becoming a reality. Therefore, in this article, I will introduce how AI is being used in various development fields.

Coding Assistance

Coding assistance is perhaps the area where AI is most widely used. Companies like GitHub are investing heavily in this field, with services like GitHub Copilot leading the way.

GitHub Copilot

Code Completion

Traditional code completion involved static analysis of classes and libraries to suggest method names and properties. In the era of AI, that level of assistance is long gone.

AI-powered suggestions now understand the context of surrounding code and can generate entire code blocks based on commented content. What makes such completion useful is that it automatically generates output without developers having to explicitly request it, making them feel like they are collaborating with AI during development.

Chat

GitHub Copilot has introduced a chat feature as an advanced service. Initially, I didn't find it particularly appealing personally, as compared to the automatic code completion, chat requires opening a dedicated UI to interact.

GitHub Copilot X

However, once you realize you can select a portion of code and directly send it to the chat UI, the convenience completely changes. Additionally, the chat includes the currently open file or tab, providing answers tailored to your ongoing tasks.

For beginners, this is akin to having a reliable mentor always available. It's very convenient to ask AI for suggestions on unfamiliar parts, get optimal code suggestions, and understand their significance.

Testing

System testing is divided into several areas, ranging from programmer-level unit tests and integration tests to tests that automatically manipulate browsers or apps.

For unit tests like GitHub Copilot, existing code can be selected, and test code can be generated accordingly. Cloud services like mabl, MagicPod, and Playable! offer AI-driven testing for browser tests and more.

mabl

During development, testing effort (quality) is often the first to be reduced when resources are scarce. AI-driven test automation is an area worth focusing on to maintain high quality even with limited resources.

Design

UI Generation

Services have emerged that generate UI prototypes. V0 by Vercel generates Next.js/React UI based on specified prompts. What's interesting is that you can further instruct it to make modifications after generating UI. Of course, each modification is version-controlled and reversible.

V0 by Vercel

UIs often require additional modifications after creation, and it's often difficult to instruct without seeing the actual result. V0 understands such workflows.

Logo and Image

AI for generating logos or images is not widely used due to copyright issues. However, in gaming apps in countries like China, AI-generated images for items are abundant, and designers only need to make minor modifications.

Adobe Firefly

Even without such extreme cases, Photoshop already includes AI-based photo retouching features, and there are AI-powered image generation services like Adobe Firefly that address copyright issues. In a few years, using these might become commonplace.

Review

Code review requires a certain level of technical expertise. Understanding intent from code or being able to ask questions requires a certain skill level. There are AI-driven services to automate such code reviews.

CodeRabbit

CodeRabbit is one of them. It automates code reviews based on PRs from platforms like GitHub. People may find it less stressful to accept feedback from a computer compared to from another person. With AI-based reviews, it might be easier to accept feedback and make corrections.

Latest Column

Ready to
get started?

Build faster and focus on front-end development