This article assumes that readers want to make their own APP products from 0 to 1 through their own learning and efforts.
I’ll try to describe a possible path from an indie developer’s perspective.
Step 1: Prototype the product
People who don’t know much about development may think that software products are just the work of programmers, but coding is only part of the process, not the whole thing. You can think of a product prototype as a blueprint for a house. A simple house may not need a design, but a slightly more complex house needs a blueprint.
Some programmers who want to build something themselves, without having to collaborate with others, find it cumbersome and skip this step. Not only will it help you get the idea out of your head quickly, but more importantly, you’ll have the product in your head when you’re prototyping, which will be a huge benefit when you’re designing software modules later on.
Here are a few apps to prototype: Ink Knife and Axure. If you don’t know exactly what a prototype is, check out the discussion section of Ink Knife. There are some shared works.
Step 2: Product page design
Appearance level is becoming more and more important these days. For most developers, it may not be amazing to design, but it is not too difficult to be simple and elegant.
The secret is to unify, unify the use of color, font scene, so that the visual effect is generally not very bad.
Here is an article that describes the design specification, which you can refer to: The Guide to Writing the Design Specification for the APP Interface.
There is also the problem of ICONS, Alibaba icon library has a lot of ICONS, the general App is enough.
Generally speaking, if I develop my own application, I rarely design the page by myself, instead I directly use a set of mature design specifications and then code the product prototype. For example, The App can use Material Design made by Google. The previously mentioned Flutter already has Material Design UI components built into it.
I recommend Using Sketch on the MAC if you want to design your own pages.
Step 3: Code
Then consider getting started. First of all, we need to set up a set of technical solutions. Generally speaking, we need to make a common App. In addition to mobile App, there are related API service interfaces.
The client App
First of all, let’s take a look at the App side. At present, there are two camps of mobile phone platforms, one is Google’s open source Android system and the other is Apple’s iOS system. They use different development languages and development tools. Android can be developed natively using Java or Kotlin, while iOS can use Objective-C or Swift.
If you want to do one for each platform, the development costs will be very high. I suggest you consider directly adopting cross-platform technologies, such as Google’s Flutter or Facebook’s Reactive Native.
Of course, you should first investigate the product you want to do in the relevant platform to achieve feasibility, this respect can consult the relevant technical experts. Or as a rule of thumb, you can generally do what you see in other apps.
No matter what technology you’re using, the general thing you need to do on the App side is write pages, write interaction logic and data communication, usually using HTTP.
There are a lot of technical points involved here, and my experience is that it is more efficient to learn by doing directly through a complete Demo source code, preferably simple enough, but with complete logical interaction and communication processes, such as logins and data lists. Demo can be found through search engines, GitHub, open source China and other platforms.
Another lesson worth sharing is to use official documents as your main reference and study material. The information is accurate and you will quickly index the relevant information. Encounter some knowledge points do not understand to be good at Google or Baidu, a relatively mature technology, there are a lot of information online.
The API server
If apps are the visible, tangible front end, apis are the invisible back end. The technology is a little bit more complicated here, so if you have 1,000 App users, 1,000 App users, 100 App users, then the complexity of the system design is completely different. Of course, without talking about load balancing and distributed design, we can just build a simple Web service for now.
Although I use Java a lot, if you’re new to back-end development, you can try ExpressJS. It’s easy to get started. It’s good enough for simple interface development, and the language is JavaScript. Reduced learning and development costs.
Background management terminal
This is used to facilitate your later operation of the App, such as to input some data, user management and so on. To do this, you need to learn how to write web pages in addition to knowing how to write interfaces.
If you can do all the previous things, HTML and CSS will be a piece of cake for you. If you still have the energy, you can also take a look at Vuejs. Here is a recommended background module: vue-element-admin.
Boostrap + jquery can also be used to build a visual background system.
At this point, your App is finished, not to mention testing and launching. Promotion and operation is another topic, we will talk about it when we have the opportunity.
Supplementary learning Materials:
- Flutter of actual combat
- Ruan Yifeng JavaScript tutorial
- JavaScript tutorial by Liao Xuefeng
- HTML/Css W3School Chinese tutorial
Blog. Nowait. Xin/learning-to-bu…
About us:
We are a team of experienced independent developers and designers with solid technical strength and years of product design and development experience, providing software customization services.