preface
The application of good technology to actual business must not be completely copied, but should learn from advanced experience to optimize their own shortcomings according to actual needs, just as no enterprise can survive forever. The same goes for software systems. Staying alive, staying futuristic, staying in line with the organizational structure and level of development of the company is Paramount. GraphQL is not popular in China at present, but the time has not come.
Understanding graphQL requires abandoning empiricism. It is not designed to solve problems that existing frameworks solve.
What’s hot right now?
Microservices MicroService, Serverless, and MicroFrontend.
Relationship chain: DB – > MicroServices – > Microfrontend Microfrontend
Back end decoupling, front end aggregation; The convergence on the front end is the microservice architecture.
Why does graphQL talk about so many nonsensical technologies?
I believe that no single technology exists in isolation; all cutting-edge technologies are related. GraphQL has taken off because of these developments as a front-end domain tool. Various language frameworks around graphQL emerge in an endless stream, and graphQL also carries the preaching and practical role of technological transformation. Knowing these, we can firmly study graphQL without being challenged by future generations.
The simplicity of one thing is supported by the complexity of some things. Just like social development, the highly developed commodity economy makes high-quality life easier and easier to achieve. In the past, when the cloud concept was hot, many companies were doing cloud, but only a few really survived. Business model aside, the talent gap alone is unlikely to support enough companies to build true cloud services. However, in the past 10 years, BAT has cultivated many talents with independent technology and entrepreneurship ability, just like the Huangpu Military Academy in the Internet industry, which is a talent environment that is not available in any era in China. There will be a wave of technology startups, and severless will definitely be, and graphQL will probably catch on, and maybe a new wheel will come along to compete with it.
———– serious dividing line ————-
What are the mainstream Microservice and Serverless products?
Mainstream Microservices products
- Google Kubenetes
- Microsoft Azure Service Fabric
Mainstream Serverless products
- Amazon AWS Lambda
- Microsoft Azure Function
- Small program serverless
- Fission is a Serverless open source framework
Comparison of advantages and disadvantages of Microservice and Serverless
Microservice | serverless | |
---|---|---|
advantages | Good for building complex applications. It divides complex applications into independent services. Multiple manageable services can communicate with each other through agreed interfaces. Each service can be modified, expanded and managed independently, while individual software is difficult to maintain or modify. | 1. Developers only need to focus on the business logic, which makes development more efficient. 2. Developers only need to focus on the business logic, which makes development more efficient. 3. Pay as you go, relatively low cost. |
disadvantages | It is only suitable for complex projects, requiring high architectural ability and systematic team support. I don’t think that’s a weakness, just like saying carrier fuel is a weakness |
1. Suitable for handling complex business logic, it is better suited to call other services on the cloud and glue key products. 2. Troubleshooting is difficult because logic is scattered everywhere. 3.Serverless cannot be used in high-concurrency applications. It is expensive to start a process for each request. 4. The inability to share state between Serverless calls makes writing complex programs extremely difficult. 5. Service split problem The vendor is locked to migrate existing projects |
What does it bring to the front end?
Serverless theory is created by the front end, and there’s a very good article in this one.
- Changes the front – and back-end interface definition specifications.
- We will definitely change the way of front-end and back-end intermodulation, and let the front-end participate in server logic development, and even Node Java mixing.
- The Nodejs server maintenance barrier is greatly reduced, as long as you can write JS code to maintain Node services, without learning DevOps related knowledge.
- For a freelance developer: future server deployments are more flexible and cheaper. Deployment is faster and less error-prone.
What challenges do front end engineers face?
First of all, an ecological prosperity is a good thing for practitioners. Just like the development of React and Vue, FE who wrote projects using jquery framework did not lose their jobs. On the contrary, because the front-end can do more and more, the front-end development is getting better and better.
I haven’t thought that through yet! Learning a language or focusing on a field should be considered in terms of whether it will give you long-term growth. The choice can be based on the service cycle of the content you are creating, the advantages of features such as C++, which will never go out of fashion, but will not be as good as the traffic star language. Language learning is best to master the most powerful language and the most popular language.
What is a micro front end?
The concept of microfront-end was proposed by ThoughtWorks in 2016. Microfront-end is a microservice-like architecture that applies the concept of microservices to the browser side, transforming a Web application from a single single application into an aggregation of multiple small front-end applications. Each front-end application can also run, develop and deploy independently.
Key words: master-slave design, the master-slave design of micro front-end is different from other front-end technologies. The premise of master-slave design is that this cluster of business modules must be associated to have its necessity. Forced design can produce undesirable results like the dispatch center.
What products are represented?
- The AdWords advertising service, Google’s largest microfront-end project, has dozens of teams of 100 developers using the same “product,” but they have their own release cycles.
- EmberJS, LinkedIn, total station has ember, excellent documentation experience is an advantage for ember
- Single-spa, currently available in 4K Star, highlights are the flattening of various framework technology stacks, module loading. link
- Mooa is a micro-front-end framework for Angular. Mooa is a single-SPa-based micro-front-end solution optimized for IE 10 and IFRAME. Unlike single-SPA, Mooa adopts a master-slave architecture, or master-slave design
Some practical
Meituan micro front-end practice, a bit… link
Single-spa practices flattening out the stacks of various framework technologies and loading modules in a single microservice portal. The idea is bold, and while the development phase looks like a family affair, it also puts all the problems into one bucket, and there’s no knowing what’s going to get messy. link
Why graphQL?
A search for any of the technologies mentioned above + graphQL turns out to be a lot of hands-on experience with graphQL and these technologies. Seems to be the front end to the future back end of the way. The GraphQL server framework is written for almost every major language. It’s not just open source. It’s standard. First-class things are the standard.
For the front-end, any data (business interface, service interface and other types of interface) can be obtained by using GraphQL uniformly. Isn’t it a one-stop service hall?
What is GraphQL?
- GraphQL is a language specification defined by Facebook that describes business-relevant data models and provides implementations in multiple programming languages. The name is expected to rival SQL in the database world and become the standard in service invocation.
- GraphQL sits between the caller of the service and the provider of the service, providing the caller with a unified service query language related to business logic.
- It’s interesting to look into the Vue Cli and see that the communication between the service and the GUI is implemented through graphQL.
Why not the RestAPI?
Is GraphQL a buzzword or a real revolution? Interestingly, most of the companies I’ve listed that have benefited from GraphQL have these things in common.
- They have multiple clients, including mobile;
- They are moving to or have already adopted a microservices architecture;
- Their legacy REST apis have exploded in number and complexity;
- They want to eliminate the dependency of the client team on the API team;
- They focus on good API documentation and developer experience.
RestAPI wasn’t thrown away. GraphQL just took on and stole the show for things that RestAPI wasn’t suited for. GraphQL wasn’t a complete replacement for RestAPI, it was just a layer introduced in the integration process. Just like the employees with the quarterly award, it is unrealistic to expect that you can only work with these people.
link
conclusion
The day GraphQL took off was the beginning of the good times for the front-end. Looking forward to…
see also
Phodal, Blog, CSDN, who have studied severless in depth