In our previous column, we wrote about how a development beginner was able to build the company website (this page) with guidance from ChatGPT. In this development, we adopted a web framework called "Django." Although Django is not very mainstream in Japan, it is widely adopted overseas. It is used by many major services and sites, including Instagram, YouTube, and NASA's website. In this article, we will discuss the background behind our company's adoption of Django and our experiences using it in practice.
■What is Django
Django is an open-source web framework that uses Python as its base language and is designed to achieve both simplicity and rapid development. Why did our company choose Django for building the website (backend)? The reason is quite simple: when we communicated the website development requirements to ChatGPT and asked for recommended technology configurations, we received the response that Django was the best option.
■Reasons Why Django Was Not Recommended in Japan
However, when we sought advice from ICT experts as a precaution, not a single person recommended using Django. The reasons were roughly as follows:
Limited Japanese-language support/documentation/tutorials available.
Small market share as a web framework in Japan.
No compelling necessity to build websites (backend) using Python.
High learning difficulty for beginners. Using CMS platforms like WordPress or Wix would be safer.
Risk of limited options when seeking to outsource site management in the future, as few Japanese system integrators can handle Django development.
■Reasons for Adopting Django Despite These Concerns
Based on these reasons, we received many comments that it was "not very realistic." Even now, I believe this was very astute advice. However, despite such guidance, our company ultimately adopted Django because ChatGPT presented the following reasons, which we judged to be rational.
ChatGPT-centric approach: Since we were planning to rely on ChatGPT for all development processes from the outset, we would not be referencing Japanese documentation or tutorials. (More precisely, even if we referenced them, we wouldn't understand them). The fundamental premise was that if ChatGPT couldn't solve it, we would give up.
Learning costs: The developer (author) was originally a beginner who didn't even know JavaScript, so there would be no difference in learning burden from adopting new technology frameworks.
No need to write SQL: Django uses a technology called Object-Relational Mapping (ORM) to simplify database operations. This allows developers to perform database operations using only Python code without directly writing SQL, eliminating the need to separately learn high-difficulty SQL.
No need to develop admin interface: For the functional level our company requires, we can utilize the admin interface that Django provides by default, eliminating the need for separate admin interface development. This is a considerable advantage for development beginners.
Integration with global services: Since Django is widely adopted globally, it offers very comprehensive integration capabilities (including APIs) with related services for development. Our company's site also utilizes services from global mega-vendors for databases, storage, and other components. Just a decade ago, it would have been absolutely impossible to use these highest-quality services for just a few thousand yen per month (albeit with usage-based pricing). The ability to integrate these global services with very simple Python code is a significant attraction of Django. Moreover, by utilizing these cutting-edge cloud technologies, even beginners can potentially build relatively secure environments.
Inflexibility of CMS: Although our purpose was not to develop a complex website, when we tried existing CMS platforms, we felt strong frustration with the "inflexibility" inherent in no-code/low-code solutions, and had the intuition that we wouldn't be able to accomplish what we wanted. Additionally, while these platforms are marketed as "easy and simple," we were concerned that using WordPress to accomplish anything substantial would ultimately require partial coding and mastery of platform-specific features. In retrospect, adopting Django was the right choice. While there are countless minor issues, we were able to achieve approximately 80% of what we wanted to create.
In this way, Django is a highly scalable framework capable of handling everything from simple websites created by beginners to massive services like Instagram. It is written in Python, which is currently one of the programming languages with the largest developer population worldwide. This was an experience that allowed even a beginner to clearly understand that it is truly excellent open-source technology.
■On Engineers' "Technology Passion"
When talking with entrepreneur engineers, it becomes clear that they tend to become "enamored" with the technologies they adopt, and having dabbled in development myself, I can understand this sentiment very well. Our company is currently enamored with "Django." And we must once again express our amazement at ChatGPT's capabilities – it accurately assessed our development skill level, recommended Django, actually wrote all the code, cleared through endless debugging, and ultimately supported us through deployment.