What technology stack should you use for developing high performance applications using server-side scripting in 2019? In this introductory blog and accompanying article, I compare and contrast two competing stacks, Express and JavaScript with Apollo and TypeScript. I also cover two competing API design styles, REST and GraphQL. If you are considering a change in writing your next Node microservice or if you are just curious about the relative merits of these architectures, then read on.
According to the past three years of the Stack Overflow developer survey, Node.js is the most popular web server framework. Many high profile companies use it including Netflix, Uber, Paypal, and Linked In. It is the best choice for developing applications in server-side JavaScript. There is a wide variety of open source tooling and components designed to accelerate development of Node microservices. Larger companies have started to develop Node applications using Microsoft's TypeScript programming language. Express is a very popular framework for writing RESTful microservices in Node. Apollo is starting to pick up traction for writing microservices in Node using GraphQL.
Here are the references for the article that you will see when you scroll down.
reference | link |
---|---|
article below | GraphQL vs REST |
REST | original dissertation and blog on Richardson Maturity Model |
GraphQL | home page |
GraphQL vs REST popularity | google and stack overflow trends |
TypeScript vs Javascript popularity | google and stack overflow trends |
InfoQ Trends Reports | Web Development and Programming Languages trends |
Express | home page |
graphql-yoga | README for this open source project |
swagger-tools | README for this open source project |
TypeScript | home page |
TypeORM | home page |
Apollo server | introduction |
feed 4 | source code for Express on Javascript |
feed 10 | source code for Apollo on TypeScript |
load | source code for the load test application |
proxy | source code for the API gateway |
BfF and GraphQL | article introducing this subject |
Having trouble viewing the embedded document? Feel free to download the PDF for offline viewing.