How can programmers persuade their bosses to adopt Node.js?
As the saying goes, "A clever woman can't cook without rice", how can a programmer successfully persuade the boss to listen to your advice? In response to this topic, the author Felix published a blog post in which he shared some constructive guidelines. CSDN R&D channel will edit this article and share it with developers. You are also welcome to publish your own practical experience of bad use cases of Node.js. Apps with high CPU performance utilization rate have always had a soft spot for Node.js, but there are several use cases here, and the results are not satisfactory. The most obvious thing is that the app has a high utilization rate of CPU and I/O operations. So, if you are going to write a video coding software, artificial intelligence or similar software with high CPU usage, please don't use Node.js, it will be better to use C or C++. Having said that, Node.js can make it easy for you to write C++ plug-ins, so you can use it as a script engine for super algorithms. Simple CRUD/HTML AppsNode.js will eventually become a good tool for writing Web applications. However, you can't expect it to provide you with more benefits like PHP, Ruby and Python. Maybe your application will get more scalability, but it won't bring you more visits, because it is written in Node.js. When we see some good frameworks of Node.js, maybe you will be overjoyed. Actually, there is no more powerful application function than Rails, CakePHP or Django. If your application is only for rendering HTML based on some databases, then using Node.js will not bring you any benefits. NoSQL+node. js+ various buzzwords If the system architecture of your next application reads like the ingredients formula of NoSQL, please take a moment to read the following. Redis, CouchDB, MongoDB, Riak, Casandra, etc. All these seem attractive and equally irresistible. If you are using Node.js, don't attach some technologies that you don't understand at all. Of course, there are also cases where the document database is selected for rational use. But if you want to develop a commercial project, please insist that conservative database technology (such as Postgres or MySQL) may meet your needs. Excellent use case JSON API Creating a lightweight REST/JSON API is indeed a highlight of Node.js If you need to encapsulate other data sources (such as databases) or expose them through JSON interfaces, it is a good choice to combine non-blocking I/O modules with JavaScript. One-page application If you plan to write an AJAX one-page application (such as Gmail), Node.js is very suitable. Get more requests in a very short response time, enjoy the data between the client and the server, and do a lot of processing for modern Web applications on the client. Node.js can meet your needs. Unix tools are shelled from Unix tools. At present, Node.js is still very young and is trying to reinvent all kinds of software for itself. But a better way is to go deep into the vast world of existing command-line tools. Node can output these thousands of subprocesses as one stream, which makes it an ideal choice for enterprises. Data Streaming Data The traditional Web stack treats http requests and responses as meta-events. However, they are changeable, and many excellent Node.js applications are created by taking advantage of this advantage. This is a good example. When uploading files in real time, you can also create proxies between different data tiers. Real-time application of software can easily develop a real-time software system with Node.js Such as Twitter, chat tools, sports lottery or instant messaging network interface. However, it is worth noting that because JavaScript is a dynamic/garbage collection language, your response time often depends on the frequency and time when you contact the garbage collection mechanism (at this point, your program stops). Therefore, don't try to build a very hard real-time system in Node, it needs consistent response time. Erlang is a good choice in this kind of application. Persuade your boss When you are sure that the use case applies to Node.js, it's time to convince your boss/manager. The best way to build a prototype is to have a simple model idea of a specific part of an application in your mind before you set foot in the door, which is usually easy to get the permission of the manager. When you get the approval, you can ask your boss for a basic system and operation mechanism, which will provide more hard data and evidence for you to get the right to use Node.js Finding co-developer JavaScript is a very popular computer programming language. Almost every computer has one or more JavaScript compilers installed, which means that it is almost impossible for most Web developers not to learn JavaScript in their careers. This means that you can hire a large number of developers, and your company will be full of talents. If you work in a thriving company, it is very beneficial to the development of Node.js technology. Vibrant community At present, the number of users in Node.js community is growing at a crazy speed, attracting many top developers. In other words, the node ecosystem is improving every day, and it gets free support from various enterprises through different channels. Performance If performance is the most important consideration in an application, Node.js can provide you with more performance support. With the competition of well-known enterprises (Mozilla, Google, Apple, Microsoft, Opera) in JavaScript implementation, the node compiler (Google V8 engine) has become a wonderful flower, and it will get better and better. Combined with the node non-blocking I/O model, you must strive to create a slow application. Most node applications can easily handle thousands of concurrent links. The company supports the use of a young open source project and lacks commitment, which is very dangerous. But this may not be suitable for Node.js At present, Joyent, the organizer of Node, has hired core contributors such as Ryan Dahl, laying a solid foundation for the future development of the project. In addition, Yahoo! Hewlett-Packard, on the other hand, expressed its confidence in using Node.js to develop the next generation products. Therefore, your boss can use Node.js to convince customers that if you are a freelancer or a contract worker in a small company, trying to persuade customers to use Node.js may lead to another scene. They usually rely on your judgment and will continue to support the software projects you create for them. These are just some of my suggestions. Before the project starts, you need to carefully check whether Node is suitable for the project. If appropriate, it is also necessary to ensure whether there are enough resources and time to support the application in the future. Attachment: The Node.js development team is releasing a new version, which will be updated every 3-6 months in the future. Background: Node.js is a web server framework based on Google V8 JavaScript engine. It is event-driven and uses asynchronous input and output to minimize its cost and maximize its scalability. Node.js enables developers to code on the server side using JavaScript, the language used by the client. This article is edited by CSDN and cannot be reproduced without permission.