Become Technology boss Technology Management 21 Technology selection _ Software test
Developer on Alibaba Coud: Build your first app with APIs, SDKs, and tutorials on the Alibaba Cloud. Read more ＞
Each system will have his life cycle, from life to death, through the three stages of adolescence, middle age and old age. The management of complexity runs through the whole life cycle of the system, just like the natural choice of evolution, constantly optimizes the system and keeps the system alive. The initial stage of the system is to complete the construction of 0 to 1 to verify the business model or to do the smallest demo product. This is the time and cost of priority, and that is fast. Therefore, this stage of technology selection is very important, if the choice is not correct, will introduce unnecessary complexity, reduce research and development efficiency. I think there are two dimensions to consider. The first dimension is the degree to which team members are familiar with the selected technology. In the early days of the project, there are also limited people, and if a member is familiar with a technology, it really shortens the cost of learning and avoids the problems that have been committed. The second dimension is the suitability and cost of various technical solutions. We need to know that there is no technical solution for all the ills, and that all of the technical solutions have their own areas of suitability, and that each programme cost is also different. The following is the choice of several technical solutions respectively. First of all, the choice of development language, I have no intention to argue which language is better, and the language is constantly changing, but only to explain the next language in the application of the scene. In fact, all languages have his suitable place, each company will also use more than one language, to solve the system of different problems. But in the early days of the system, the choice of language is still very important. For Android and iOS clients, there is no choice but to choose the official recommendation. Background development language selection is more extensive, c/c++/java/php/python/.net/nodejs and so on, dazzling, under normal circumstances, as far as possible to choose Open Source language platform, community support will be better, the structure is relatively mature some, All kinds of difficult and incurable diseases can receive free support. I'm right. NET is not malicious, in fact I also from. NET development, and. NET has also been open source, but time is too late, indeed there are many companies in the industry, after the expansion of the business from. NET to other languages. Because of the more flexible control of memory, C/s + + is more suitable for high concurrency but logical simple service or middleware, if it is a complex system of business logic, it is not recommended at the beginning; Java is a very widely used language, community support is rich, can almost support the full stack of applications, At the same time, the object-oriented design pattern is very suitable to disassemble complex business, and it is easy to expand and maintain. But the frame choice is too many, too complex, use good really not easy, the entry has certain threshold; Php/python/nodejs are dynamic languages, development is very flexible and simple, although also support object-oriented, but not mandatory, easy to use, very suitable for early adoption. But once the system complexity becomes high, too flexible will become a problem, that is, we develop too casual, often later to pay for this at will;What kind of language, I think a matter of opinion, there is no standard answer, tools are not good or bad, only suitable for not. I think the biggest change in these years is the rise of cloud technology, the availability of the cloud has exceeded the availability of the average individual company to build its own operations team, and it has made operations simple enough that it will not even have to be operational in the first few days, and the business will be able to retain only the business operators when it grows. At the same time pay on demand, these have greatly reduced the cost of operation and maintenance. And cloud technology is not only the operational dimension of this aspect, he through more flexible cloud API, in fact, provides a variety of service capabilities, so that we can quickly and flexibly access to achieve their business needs. such as audio, video, live, file storage, data storage and so on, like an API resource pool. This fundamentally changes the pattern of business development. At the beginning of the business, how to use the power of cloud, access to existing services, rapid development of business, is very important, try not to repeat the wheel. Of course, gold coins always have two sides, cloud technology is also in the process of development, data security is a need to pay attention to the problem, and once the operation of the accident, cloud service provider response speed is also a test; In addition, with the rapid growth of the business, the cost of paying on demand will become more and more high, until more than the cost of the self-built room; The availability required by the business is likely to be higher, as is the timeliness of third party response support. This is the time to develop a private cloud, the price is very large. Of course, at the beginning of the system, I felt that the public cloud could be used entirely. To sum up, the system early, technical selection is very important to see what the team is familiar with, two to see the advantages and disadvantages of various technical schemes and costs, and finally, to be good at borrowing force cloud technology, to avoid duplication of wheel building. If you have any questions, welcome to add QQ Group Test introduction Great God 755431660 study together ~
This article is an English version of an article which is originally in the Chinese language on aliyun.com and is provided for information purposes only. This website makes no representation or warranty of any kind, either expressed or implied, as to the accuracy, completeness ownership or
reliability of the article or any translations thereof. If you have any concerns or complaints relating to the article, please send an email, providing a detailed description of the concern or
complaint, to email@example.com. A staff member will contact you within 5 working days. Once verified, infringing content will be removed immediately.
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
and provide relevant evidence. A staff member will contact you within 5 working days.