What is Egg.js and what are its top alternatives?
Top Alternatives to Egg.js
Koa
Koa aims to be a smaller, more expressive, and more robust foundation for web applications and APIs. Through leveraging generators Koa allows you to ditch callbacks and greatly increase error-handling. Koa does not bundle any middleware. ...
Node.js
Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices. ...
Django
Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. ...
ASP.NET
.NET is a developer platform made up of tools, programming languages, and libraries for building many different types of applications. ...
Laravel
It is a web application framework with expressive, elegant syntax. It attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as authentication, routing, sessions, and caching. ...
Android SDK
Android provides a rich application framework that allows you to build innovative apps and games for mobile devices in a Java language environment. ...
Rails
Rails is a web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern. ...
Spring Boot
Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run". We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration. ...
Egg.js alternatives & related posts
- Async/Await5
- JavaScript5
- REST API1
related Koa posts
We are using Node.js and ExpressJS to build a REST services that is middleware of a legacy system. MongoDB as database. Vue.js helps us to make rapid UI to test use cases. Frontend is build for mobile with Ionic . We like using JavaScript and ES6 .
I think next step could be to use Koa but I am not sure.
Will base most server-side APIs on Fastify . Smaller, faster, easier. Faster than Koa; and twice as fast as ExpressJS.
Node.js
- Npm1.4K
- Javascript1.3K
- Great libraries1.1K
- High-performance1K
- Open source789
- Great for apis477
- Asynchronous467
- Great community414
- Great for realtime apps385
- Great for command line utilities290
- Node Modules77
- Websockets75
- Uber Simple65
- Great modularity53
- Allows us to reuse code in the frontend53
- Easy to start38
- Great for Data Streaming33
- Realtime29
- Awesome25
- Non blocking IO23
- Can be used as a proxy16
- High performance, open source, scalable15
- Non-blocking and modular14
- Easy and Fun13
- Same lang as AngularJS12
- Easy and powerful11
- Future of BackEnd10
- Fast9
- Cross platform8
- Scalability8
- Mean Stack6
- Fullstack6
- Simple6
- Easy concurrency5
- Great for webapps5
- Easy to use and fast and goes well with JSONdb's4
- Friendly4
- React4
- Fast, simple code and async4
- Typescript4
- Its amazingly fast and scalable3
- Isomorphic coolness3
- Great speed3
- Scalable3
- Control everything3
- Fast development3
- One language, end-to-end2
- Scales, fast, simple, great community, npm, express2
- TypeScript Support2
- Easy to learn2
- Easy to use2
- It's fast2
- Less boilerplate code2
- Blazing fast2
- Not Python2
- Performant and fast prototyping2
- Sooper easy for the Backend connectivity2
- Great community2
- Easy1
- Lovely1
- Event Driven0
- Javascript20
- Bound to a single CPU46
- New framework every day37
- Lots of terrible examples on the internet33
- Asynchronous programming is the worst28
- Callback22
- Javascript16
- Dependency based on GitHub11
- Dependency hell10
- Low computational power10
- Can block whole server easily7
- Callback functions may not fire on expected sequence6
- Very very Slow6
- Unneeded over complication3
- Breaking updates3
- Unstable3
- No standard approach1
related Node.js posts
When I joined NYT there was already broad dissatisfaction with the LAMP (Linux Apache HTTP Server MySQL PHP) Stack and the front end framework, in particular. So, I wasn't passing judgment on it. I mean, LAMP's fine, you can do good work in LAMP. It's a little dated at this point, but it's not ... I didn't want to rip it out for its own sake, but everyone else was like, "We don't like this, it's really inflexible." And I remember from being outside the company when that was called MIT FIVE when it had launched. And been observing it from the outside, and I was like, you guys took so long to do that and you did it so carefully, and yet you're not happy with your decisions. Why is that? That was more the impetus. If we're going to do this again, how are we going to do it in a way that we're gonna get a better result?
So we're moving quickly away from LAMP, I would say. So, right now, the new front end is React based and using Apollo. And we've been in a long, protracted, gradual rollout of the core experiences.
React is now talking to GraphQL as a primary API. There's a Node.js back end, to the front end, which is mainly for server-side rendering, as well.
Behind there, the main repository for the GraphQL server is a big table repository, that we call Bodega because it's a convenience store. And that reads off of a Kafka pipeline.











How Uber developed the open source, end-to-end distributed tracing Jaeger , now a CNCF project:
Distributed tracing is quickly becoming a must-have component in the tools that organizations use to monitor their complex, microservice-based architectures. At Uber, our open source distributed tracing system Jaeger saw large-scale internal adoption throughout 2016, integrated into hundreds of microservices and now recording thousands of traces every second.
Here is the story of how we got here, from investigating off-the-shelf solutions like Zipkin, to why we switched from pull to push architecture, and how distributed tracing will continue to evolve:
https://eng.uber.com/distributed-tracing/
(GitHub Pages : https://www.jaegertracing.io/, GitHub: https://github.com/jaegertracing/jaeger)
Bindings/Operator: Python Java Node.js Go C++ Kubernetes JavaScript OpenShift C# Apache Spark
- Rapid development602
- Open source446
- Great community387
- Easy to learn337
- Mvc249
- Elegant202
- Beautiful code201
- Free180
- Great packages179
- Great libraries167
- Restful55
- Comes with auth and crud admin panel52
- Powerful51
- Great documentation48
- Great for web46
- Python36
- Great orm31
- Great for api27
- All included21
- Web Apps17
- Fast16
- Used by top startups14
- Clean12
- Easy setup11
- Sexy10
- Convention over configuration8
- ORM5
- Allows for very rapid development with great libraries5
- The Django community5
- Mvt3
- Its elegant and practical3
- Great MVC and templating engine3
- Easy to use2
- Easy to develop end to end AI Models2
- Easy Structure , useful inbuilt library2
- Cross-Platform2
- Fast prototyping2
- Full stack2
- Batteries included2
- Easy2
- Great peformance1
- Many libraries1
- Zero code burden to change databases1
- Have not found anything that it can't do1
- Map1
- Scaffold1
- Modular1
- Very quick to get something up and running1
- Just the right level of abstraction1
- Python community1
- Full-Text Search1
- King of backend world1
- Underpowered templating24
- Underpowered ORM19
- Autoreload restarts whole server18
- URL dispatcher ignores HTTP method15
- Internal subcomponents coupling10
- Not nodejs7
- Admin5
- Configuration hell4
- Not as clean and nice documentation like Laravel3
- Bloated admin panel included2
- Not typed2
- Python2
- Overwhelming folder structure2
- InEffective Multithreading1
related Django posts
Simple controls over complex technologies, as we put it, wouldn't be possible without neat UIs for our user areas including start page, dashboard, settings, and docs.
Initially, there was Django. Back in 2011, considering our Python-centric approach, that was the best choice. Later, we realized we needed to iterate on our website more quickly. And this led us to detaching Django from our front end. That was when we decided to build an SPA.
For building user interfaces, we're currently using React as it provided the fastest rendering back when we were building our toolkit. It’s worth mentioning Uploadcare is not a front-end-focused SPA: we aren’t running at high levels of complexity. If it were, we’d go with Ember.js.
However, there's a chance we will shift to the faster Preact, with its motto of using as little code as possible, and because it makes more use of browser APIs. One of our future tasks for our front end is to configure our Webpack bundler to split up the code for different site sections. For styles, we use PostCSS along with its plugins such as cssnano which minifies all the code.
All that allows us to provide a great user experience and quickly implement changes where they are needed with as little code as possible.
Hey, so I developed a basic application with Python. But to use it, you need a python interpreter. I want to add a GUI to make it more appealing. What should I choose to develop a GUI? I have very basic skills in front end development (CSS, JavaScript). I am fluent in python. I'm looking for a tool that is easy to use and doesn't require too much code knowledge. I have recently tried out Flask, but it is kinda complicated. Should I stick with it, move to Django, or is there another nice framework to use?
ASP.NET
- Great mvc6
related ASP.NET posts
Finding the most effective dev stack for a solo developer. Over the past year, I've been looking at many tech stacks that would be 'best' for me, as a solo, indie, developer to deliver a desktop app (Windows & Mac) plus mobile - iOS mainly. Initially, Xamarin started to stand-out. Using .NET Core as the run-time, Xamarin as the native API provider and Xamarin Forms for the UI seemed to solve all issues. But, the cracks soon started to appear. Xamarin Forms is mobile only; the Windows incarnation is different. There is no Mac UI solution (you have to code it natively in Mac OS Storyboard. I was also worried how Xamarin Forms , if I was to use it, was going to cope, in future, with Apple's new SwiftUI and Google's new Fuchsia.
This plethora of techs for the UI-layer made me reach for the safer waters of using Web-techs for the UI. Lovely! Consistency everywhere (well, mostly). But that consistency evaporates when platform issues are addressed. There are so many web frameworks!
But, I made a simple decision. It's just me...I am clever, but there is no army of coders here. And I have big plans for a business app. How could just 1 developer go-on to deploy a decent app to Windows, iPhone, iPad & Mac OS? I remembered earlier days when I've used Microsoft's ASP.NET to scaffold - generate - loads of Code for a web-app that I needed for several charities that I worked with. What 'generators' exist that do a lot of the platform-specific rubbish, allow the necessary customisation of such platform integration and provide a decent UI?
I've placed my colours to the Quasar Framework mast. Oh dear, that means Electron desktop apps doesn't it? Well, Ive had enough of loads of Developers saying that "the menus won't look native" or "it uses too much RAM" and so on. I've been using non-native UI-wrapped apps for ages - the date picker in Outlook on iOS is way better than the native date-picker and I'd been using it for years without getting hot under the collar about it. Developers do get so hung-up on things that busy Users hardly notice; don't you think?. As to the RAM usage issue; that's a bit true. But Users only really notice when an app uses so much RAM that the machine starts to page-out. Electron contributes towards that horizon but does not cause it. My Users will be business-users after all. Somewhat decent machines.
Looking forward to all that lovely Vue.js around my TypeScript and all those really, really, b e a u t I f u l UI controls of Quasar Framework . Still not sure that 1 dev can deliver all that... but I'm up for trying...
I found Heroku to be a great option to get ExpressJS up and running with very little hustle. The free tier is great, but I'd recommend to set up a cronjob to visit your site every few minutes so that the server stays awake. Netlify was the option to host the front-end because doing the server side rendering on #Heroku would have taken a little more time than I'd like to. For the moment pre-rendering the app with prerender-spa-plugin is enough to help with #seo. Puppeteer was my choice over other options because it made it easier to scrape websites made on ASP.NET which is what I needed in this case. And Vue.js is my top choice at the moment because it's really beginner friendly and it has a lot of the features I like about Angular 2 and React. vuex is a must in most of the app I build.
- Clean architecture500
- Growing community359
- Composer friendly336
- Open source312
- The only framework to consider for php293
- Mvc194
- Quickly develop189
- Dependency injection155
- Application architecture142
- Embraces good community packages129
- Write less, do more57
- Restful routing50
- Orm (eloquent)46
- Artisan scaffolding and migrations43
- Database migrations & seeds42
- Awesome35
- Great documentation33
- Awsome, Powerfull, Fast and Rapid25
- Promotes elegant coding25
- Build Apps faster, easier and better24
- JSON friendly22
- Most easy for me21
- Eloquent ORM20
- Easy to learn, scalability20
- Test-Driven19
- Modern PHP19
- Blade Template18
- Beautiful18
- Security13
- Clean Documentation11
- Convention over Configuration10
- Based on SOLID10
- Cool10
- Easy to attach Middleware9
- Simple9
- Fast8
- Easy to use8
- Laravel + Cassandra = Killer Framework8
- Simpler8
- Get going quickly straight out of the box. BYOKDM8
- Easy Request Validatin8
- Less dependencies7
- Simplistic , easy and faster7
- Its just wow7
- Friendly API6
- Its beautiful to code in5
- Super easy and powerful5
- Great customer support5
- Speed4
- Fast and Clarify framework4
- The only "cons" is wrong! No static method just Facades4
- Easy4
- Active Record4
- Php74
- Laravel Mix3
- Laragon3
- Eloquent3
- Easy views handling and great ORM3
- Minimum system requirements3
- Composer3
- Intuitive usage2
- Laravel Spark2
- Laravel Passport2
- Laravel Nova2
- Laravel casher2
- Laravel Horizon and Telescope2
- Laravel Forge and Envoy2
- Ease of use2
- Cashier with Braintree and Stripe2
- Rapid development1
- Scout0
- PHP38
- Too many dependency26
- Slower than the other two19
- A lot of static method calls for convenience15
- Too many include13
- Heavy10
- Bloated7
- Laravel6
- Confusing5
- Does not work well for file uploads in Shared Hosting4
- Too underrated3
- Not fast with MongoDB2
- Difficult to learn1
- Not using SOLID principles1
related Laravel posts
Back at the start of 2017, we decided to create a web-based tool for the SEO OnPage analysis of our clients' websites. We had over 2.000 websites to analyze, so we had to perform thousands of requests to get every single page from those websites, process the information and save the big amounts of data somewhere.
Very soon we realized that the initial chosen script language and database, PHP, Laravel and MySQL, was not going to be able to cope efficiently with such a task.
By that time, we were doing some experiments for other projects with a language we had recently get to know, Go , so we decided to get a try and code the crawler using it. It was fantastic, we could process much more data with way less CPU power and in less time. By using the concurrency abilites that the language has to offers, we could also do more Http requests in less time.
Unfortunately, I have no comparison numbers to show about the performance differences between Go and PHP since the difference was so clear from the beginning and that we didn't feel the need to do further comparison tests nor document it. We just switched fully to Go.
There was still a problem: despite the big amount of Data we were generating, MySQL was performing very well, but as we were adding more and more features to the software and with those features more and more different type of data to save, it was a nightmare for the database architects to structure everything correctly on the database, so it was clear what we had to do next: switch to a NoSQL database. So we switched to MongoDB, and it was also fantastic: we were expending almost zero time in thinking how to structure the Database and the performance also seemed to be better, but again, I have no comparison numbers to show due to the lack of time.
We also decided to switch the website from PHP and Laravel to JavaScript and Node.js and ExpressJS since working with the JSON Data that we were saving now in the Database would be easier.
As of now, we don't only use the tool intern but we also opened it for everyone to use for free: https://tool-seo.com



















I use Laravel because it's the most advances PHP framework out there, easy to maintain, easy to upgrade and most of all : easy to get a handle on, and to follow every new technology ! PhpStorm is our main software to code, as of simplicity and full range of tools for a modern application.
Google Analytics Analytics of course for a tailored analytics, Bulma as an innovative CSS framework, coupled with our Sass (Scss) pre-processor.
As of more basic stuff, we use HTML5, JavaScript (but with Vue.js too) and Webpack to handle the generation of all this.
To deploy, we set up Buddy to easily send the updates on our nginx / Ubuntu server, where it will connect to our GitHub Git private repository, pull and do all the operations needed with Deployer .
CloudFlare ensure the rapidity of distribution of our content, and Let's Encrypt the https certificate that is more than necessary when we'll want to sell some products with our Stripe api calls.
Asana is here to let us list all the functionalities, possibilities and ideas we want to implement.
Android SDK
- Android development282
- Necessary for android153
- Android studio126
- Mobile framework85
- Backed by google81
- Platform-tools26
- Eclipse + adt plugin21
- Powerful, simple, one stop environment4
- Free2
- Больно2
related Android SDK posts










We are using React Native in #SmartHome to share the business logic between Android and iOS team and approach users with a unique brand experience. The drawback is that we require lots of native Android SDK and Objective-C modules, so a good part of the invested time is there. The gain for a app that relies less on native communication, sensors and OS tools should be even higher.
Also it helps us set different testing stages: we use Travis CI for the javascript (business logic), Bitrise to run build tests and @Detox for #end2end automated user tests.
We use a microservices structure on top of Zeit's @now that read from firebase. We use JWT auth to authenticate requests among services and from users, following GitHub philosophy of using the same infrastructure than its API consumers. Firebase is used mainly as a key-value store between services and as a backup database for users. We also use its authentication mechanisms.
You can be super locked-in if you also rely on it's analytics, but we use Amplitude for that, which offers us great insights. Intercom for communications with end-user and Mailjet for marketing.
I've recently switched to using Expo for initializing and developing my React Native apps. Compared to React Native CLI, it's so much easier to get set up and going. Setting up and maintaining Android Studio, Android SDK, and virtual devices used to be such a headache. Thanks to Expo, I can now test my apps directly on my Android phone, just by installing the Expo app. I still use Xcode Simulator for iOS testing, since I don't have an iPhone, but that's easy anyway. The big win for me with Expo is ease of Android testing.
The Expo SDK also provides convenient features like Facebook login, MapView
, push notifications, and many others. https://docs.expo.io/versions/v31.0.0/sdk/
- Rapid development845
- Great gems647
- Great community603
- Convention over configuration478
- Mvc416
- Great for web349
- Beautiful code344
- Open source311
- Great libraries270
- Active record260
- Elegant105
- Easy to learn87
- Easy Database Migrations85
- Makes you happy77
- Free72
- Great routing62
- Has everything you need to get the job done53
- Great Data Modeling41
- Beautiful38
- MVC - Easy to start on38
- Easy setup35
- Great caching26
- Ultra rapid development time25
- It's super easy22
- Great Resources17
- Easy to build mockups that work16
- Less Boilerplate14
- API Development7
- Developer Friendly7
- Great documentation6
- Easy REST API creation5
- Quick5
- Haml and sass4
- Intuitive4
- Easy to learn, use, improvise and update4
- Great language4
- Legacy2
- Jet packs come standard2
- Easy and fast2
- Metaprogramming2
- It works2
- It's intuitive1
- Cancan1
- Easy Testing1
- Convention over configuration1
- Too much "magic" (hidden behavior)20
- Poor raw performance13
- Asset system is too primitive and outdated11
- Bloat in models6
- Heavy use of mixins6
- Very Very slow3
related Rails posts
Oof. I have truly hated JavaScript for a long time. Like, for over twenty years now. Like, since the Clinton administration. It's always been a nightmare to deal with all of the aspects of that silly language.
But wowza, things have changed. Tooling is just way, way better. I'm primarily web-oriented, and using React and Apollo together the past few years really opened my eyes to building rich apps. And I deeply apologize for using the phrase rich apps; I don't think I've ever said such Enterprisey words before.
But yeah, things are different now. I still love Rails, and still use it for a lot of apps I build. But it's that silly rich apps phrase that's the problem. Users have way more comprehensive expectations than they did even five years ago, and the JS community does a good job at building tools and tech that tackle the problems of making heavy, complicated UI and frontend work.
Obviously there's a lot of things happening here, so just saying "JavaScript isn't terrible" might encompass a huge amount of libraries and frameworks. But if you're like me, yeah, give things another shot- I'm somehow not hating on JavaScript anymore and... gulp... I kinda love it.











StackShare Feed is built entirely with React, Glamorous, and Apollo. One of our objectives with the public launch of the Feed was to enable a Server-side rendered (SSR) experience for our organic search traffic. When you visit the StackShare Feed, and you aren't logged in, you are delivered the Trending feed experience. We use an in-house Node.js rendering microservice to generate this HTML. This microservice needs to run and serve requests independent of our Rails web app. Up until recently, we had a mono-repo with our Rails and React code living happily together and all served from the same web process. In order to deploy our SSR app into a Heroku environment, we needed to split out our front-end application into a separate repo in GitHub. The driving factor in this decision was mostly due to limitations imposed by Heroku specifically with how processes can't communicate with each other. A new SSR app was created in Heroku and linked directly to the frontend repo so it stays in-sync with changes.
Related to this, we need a way to "deploy" our frontend changes to various server environments without building & releasing the entire Ruby application. We built a hybrid Amazon S3 Amazon CloudFront solution to host our Webpack bundles. A new CircleCI script builds the bundles and uploads them to S3. The final step in our rollout is to update some keys in Redis so our Rails app knows which bundles to serve. The result of these efforts were significant. Our frontend team now moves independently of our backend team, our build & release process takes only a few minutes, we are now using an edge CDN to serve JS assets, and we have pre-rendered React pages!
#StackDecisionsLaunch #SSR #Microservices #FrontEndRepoSplit
Spring Boot
- Powerful and handy127
- Easy setup121
- Java111
- Spring83
- Fast79
- Extensible39
- Lots of "off the shelf" functionalities32
- Cloud Solid27
- Caches well21
- Many receipes around for obscure features19
- Modular18
- Productive18
- Integrations with most other Java frameworks17
- Spring ecosystem is great16
- Fast Performance With Microservices16
- Community14
- Auto-configuration13
- Easy setup, Community Support, Solid for ERP apps11
- One-stop shop11
- Easy to parallelize10
- Cross-platform9
- Easy setup, good for build erp systems, well documented9
- Easy setup, Git Integration8
- Powerful 3rd party libraries and frameworks8
- Kotlin2
- It's so easier to start a project on spring2
- Heavy weight18
- Annotation ceremony17
- Many config files needed10
- Java7
- Reactive5
- Excellent tools for cloud hosting, since 5.x4
related Spring Boot posts






















We are in the process of building a modern content platform to deliver our content through various channels. We decided to go with Microservices architecture as we wanted scale. Microservice architecture style is an approach to developing an application as a suite of small independently deployable services built around specific business capabilities. You can gain modularity, extensive parallelism and cost-effective scaling by deploying services across many distributed servers. Microservices modularity facilitates independent updates/deployments, and helps to avoid single point of failure, which can help prevent large-scale outages. We also decided to use Event Driven Architecture pattern which is a popular distributed asynchronous architecture pattern used to produce highly scalable applications. The event-driven architecture is made up of highly decoupled, single-purpose event processing components that asynchronously receive and process events.
To build our #Backend capabilities we decided to use the following: 1. #Microservices - Java with Spring Boot , Node.js with ExpressJS and Python with Flask 2. #Eventsourcingframework - Amazon Kinesis , Amazon Kinesis Firehose , Amazon SNS , Amazon SQS, AWS Lambda 3. #Data - Amazon RDS , Amazon DynamoDB , Amazon S3 , MongoDB Atlas
To build #Webapps we decided to use Angular 2 with RxJS
#Devops - GitHub , Travis CI , Terraform , Docker , Serverless
Is learning Spring and Spring Boot for web apps back-end development is still relevant in 2021? Feel free to share your views with comparison to Django/Node.js/ ExpressJS or other frameworks.
Please share some good beginner resources to start learning about spring/spring boot framework to build the web apps.