Oracle

Oracle

oracle, 非常oracle.

My Independent Development Experience Sharing

In the past few years, I have developed several applications. These include news reading websites, utility mini-programs, open-source blog programs, and digital business card websites. Since I haven't considered profitability, I can't really say whether they were successful or not, but I am already happy if someone uses what I have created. During this period, I have come into contact with many technology stacks and have learned some knowledge about products. I would like to summarize based on the development of web pages, mini-programs, and some characteristics of independent development.

Technology stacks I have used and abandoned#

In my previous development work, I always switched between multiple technology stacks. At the beginning, when I was a freshman, I used PHP or Python as the backend interface, and jQuery + LayUI for the frontend.

I have to say, this technology stack is quite strange. Considering that I use a front-end and back-end separation development method, I basically don't need the powerful MVC frameworks of PHP and Python, and LayUI itself is not very suitable for front-end and back-end separation development. In addition, the Laytpl module can only implement some simple components, and the cost of writing and maintaining more complex components is high, so this development method is not appropriate.

Front-end technology stack I currently use#

Later, I learned React and used it to develop new versions of news reading websites and digital business card websites. In my opinion, React has a relatively low learning curve. For friends with a front-end foundation, they can grasp and apply it in development in just one day. React has a rich ecosystem with a large number of component libraries and UI libraries to choose from, but I still haven't found a UI library that suits me, so I always use the traditional method of hand-coding CSS to build views. The advantage of doing this is that I can create interfaces that satisfy myself, but the disadvantage is the high time cost. A few months ago, I discovered tailwindCSS, which is a tool with a great user experience. It has increased the efficiency of hand-coding CSS for me and made it easier to encapsulate common components. In addition, learning React has given me a whole new understanding of front-end development. It makes front-end development more engineering-oriented and hierarchical, and I also highly agree with its development philosophy.

Back-end technology stack I currently use#

Python + FastAPI is my first choice, and Golang is an alternative that I may not even need. I am considering switching to JavaScript, all in JavaScript. After participating in the NOIP competition in my senior year of high school, I learned the basics of Python and later used it to learn web scraping techniques. It wasn't until college that I used it to build interfaces. I didn't learn Django because it is too bloated and not very suitable for the front-end and back-end separation development pattern. Mainly, I felt that the learning curve was too high at that time, so I gave up after taking a casual look. As for Flask, I don't really like it either. When it comes to FastAPI, it can be said that it was love at first sight. It is easy to develop with and has fast performance. It can directly create useful interfaces without the need for complex coding. CRUD is already a relatively simple task, so it is not suitable to write a lot of extra code.

In addition, I recommend that independent developers use high-level languages to write backend interfaces, preferably weakly typed ones. I do not recommend languages like Java, Rust, and C++. You shouldn't have conflicts with yourself. Actually, I highly recommend Golang. Although it is a bit painful to develop with, its efficiency is far inferior to JavaScript or Python. Does your application really have that many users? Or is it because your skills are not good enough and you need language features to compensate?

UI design is mainly about imitation#

I have the least say in UI design because I haven't studied related courses or read related books. But when I release applications on forums, people often leave comments asking, "Are you a design student?" or "Are you a designer? It looks beautiful!" The answer is obviously no. I am just an ordinary computer science student. As the saying goes, there is nothing new under the sun, it's all about whether you can imitate or not. In terms of interface design, imitation is the main approach. For example, I often browse the websites of major companies and open the element inspector to see how interesting effects are implemented. Sometimes I also collect hexadecimal values for colors and gradient functions. The website that has benefited me the most is Apple's official website. Apple's design is undoubtedly top-notch, so I learn from its style and apply it to my own applications, and there are rarely any major issues. I also observe the design styles of iOS system applications as a reference for mini-program styles. I find that most of them have simple and user-friendly interfaces, rejecting flashy designs.

My development experience is limited, and my ability to develop products is also limited. I hope friends can share their independent development experiences for me to learn from. I also welcome criticism and suggestions from everyone.

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.