The first is programming languages. In general, there are four different programming languages,

The first is JAVA. Established and the number one market share in enterprise applications, it is a compiled language (actually compiled into bytecode that can be recognized by the JVM). JAVA now has Springboot, SpringCloud framework, good development experience. However, strongly typed languages, and the ability to compile before running, are obstacles to further speed up development.

Second, GoLang, a Product of Google, ADAPTS to the latest technology needs and the language itself improves the user experience. But because of the wide integration of microservices, blockchains and so on, programmers are paid very well.

Third, Python. Python’s popularity has soared thanks to its reputation as a web crawler and widespread use in artificial intelligence. A scripting language that doesn’t need to be compiled is still the efficiency of scripting. In addition, Python is not widely used, so it can be difficult to hire and pay well.

Fourth, NodeJs, which is basically the least reliable. Js is a functional language, rely on Node to imitate object-oriented back-end language, all kinds of problems, need not elaborate, used are clear. For example, type checking enforces undefined if necessary, although TypeScript might be better. Strongly typed TypeScript consolidates code specifications, not just verbal conventions. Static typing analysis based on TypeScript strong typing also provides IDE/ editors with very accurate intelligence on possible bugs. Even so, JS efficiency does not flatter. Of course, there is no denying that for small applications, Node really consumes less memory than JAVA. I didn’t find a data model Eloquent for Node. While underscore and Lodash are all large libraries, there are no good Collection components. Someone copied node to the backend, PHP, Python, etc. Unfortunately this kind of big class library, be like big underwear truly, novice just wear.

DotNet, the problem is, you’re going to have to use Windows servers in the future, and the operating system is not cheap.

Sixth, PHP. This purported best language. The language is super easy to learn, so it’s very popular. And now, enterprise applications, microservices are supported. The fastest developers, the cheapest programmers.

Then there is the question of the framework.

From the above programming languages, PHP has the highest success rate. Facebook is in PHP,Flickr is in PHP, Anjuke is in PHP, You started in PHP, but now it’s in JAVA. Domestic early also some companies are their own framework success. But now I don’t have to write it myself. You just pick the frame.

However, the majority of teams that don’t understand technology opt for thinkPHP, and most of them regret it later. But it’s too expensive to tear it down and start over. So far, I’ve never heard of a successful startup with thinkPHP. PHP is also weakly typed, but PHP7 supports strict mode. But the parameters and return values of tp functions are really guesswork, and are generally of more than three types.

I recommend a few frameworks.

Number one, Laravel. It is the number one development framework in the world. Its advantages are, 1, that models, views, and controllers can be generated from the command line, so development is definitely fast. 2. Excellent third-party components selected in the framework are the best. In other words, the author does not duplicate the wheel. 3. Frameworks are loose architectures that are completely decoupled. You can replace any component. 4. Events, broadcasting, caching, queues, you name it. 5. Humanized development experience. Won’t let you not know what’s wrong. 6, excellent performance, at least, much faster than TP5. This box supports small Web to medium and large Internet applications and has a good community ecosystem. Unlike TP, no one can write repository. Laravel is definitely a smart choice if you want to develop quickly in the future. And the foreteller knows. Laravel takes very little time to debug. It is primarily the framework’s author’s pursuit of the ultimate user experience.

Second, Swoft, some people see the main page of this framework filed in Sichuan, plus the disaster of TP, so they don’t trust it. I suggest you read the author’s introduction. The author is not Chinese even though he is in China. Of course, not to mention the poor development of Chinese, the author of Yii is Chinese, and the author of Vue is Chinese. Of course, a Stanford PhD is not necessarily a good program. Let’s go back to the code. Swoft simply reconstructs SpringBoot and SpringCloud in PHP, how, based on Swoole consul, and at the same time, chooses excellent third-party components, such as, Doctrine annotation, monolog, PHPDI, symfony cache. In addition, for those that cannot be integrated, we will rewrite them, for example, Eloquent for Laravel. Swoft’s development experience is pretty good. If you think about it, routing can be done through annotations, injection can be done through annotations, and PHP developers who have never used JAVA have never experienced this. For those of you who use YII, you may have used giI on the Web side, but Swoft’s Web-side debugging tool is also quite impressive. That’s not the point. The point is, it supports microservices. And it is the best microservices framework in PHP. On the other hand, simple and small Web applications can also be developed quickly. Simple and easy to learn. At the same time, swoole. Is quite efficient. Also, instead of creating new classes manually, create them in batches on the command line.

As for other frameworks. CI is also a pit. Of course, I don’t know if 3.0 is an improvement. Symfony, YII are trustworthy. Are useful to its successful companies. Phalcon, Yaf is also known for high efficiency. Nothing else is recommended.

A lot of respect to Laravel and the swoft authors. The framework is as good as it gets and is still being refined. This is the real framer. PHP is so simple that it’s one person who wants to use the PHP development framework. Therefore, choosing a framework for PHP is the most risky. Component decoupling of Symfony Bundle pioneered componentization of frameworks. Laravel’s facade and Contract constitute a 100% foldable and replaceable framework, making it the first in the world in framework decoupling. Swoft really lays out the future for startups by combining support for everything from simple Web to microservices.