What is Sails.js and what are its top alternatives?
Top Alternatives to Sails.js
Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. ...
Express is a minimal and flexible node.js web application framework, providing a robust set of features for building single and multi-page, and hybrid web applications. ...
Flask is intended for getting started very quickly and was developed with best intentions in mind. ...
Django REST framework
It is a powerful and flexible toolkit that makes it easy to build Web APIs.
Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort. ...
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. ...
hapi is a simple to use configuration-centric framework with built-in support for input validation, caching, authentication, and other essential facilities for building web applications and services. ...
Laravel Lumen is a stunningly fast PHP micro-framework for building web applications with expressive, elegant syntax. We believe development must be an enjoyable, creative experience to be truly fulfilling. Lumen attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as routing, database abstraction, queueing, and caching. ...
Sails.js alternatives & related posts
- Rapid development634
- Open source468
- Great community401
- Easy to learn353
- Beautiful code215
- Great packages191
- Great libraries178
- Comes with auth and crud admin panel65
- Great documentation60
- Great for web58
- Great orm37
- Great for api34
- All included27
- Web Apps22
- Used by top startups18
- Easy setup15
- Convention over configuration12
- The Django community9
- Allows for very rapid development with great libraries9
- Great MVC and templating engine6
- King of backend world6
- Its elegant and practical6
- Batteries included5
- Full stack5
- Fast prototyping5
- Easy Structure , useful inbuilt library5
- Easy to develop end to end AI Models5
- Have not found anything that it can't do5
- Very quick to get something up and running4
- Easy to use4
- Great peformance3
- Just the right level of abstraction3
- Full-Text Search3
- Zero code burden to change databases3
- Python community3
- Many libraries3
- Easy to change database manager2
- Node js1
- Underpowered templating25
- Underpowered ORM19
- Autoreload restarts whole server19
- URL dispatcher ignores HTTP method15
- Internal subcomponents coupling10
- Not nodejs7
- Configuration hell6
- Not as clean and nice documentation like Laravel4
- Not typed3
- Bloated admin panel included3
- 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.
- High performance185
- Robust routing148
- Open source66
- Great community53
- Hybrid web applications34
- Well documented10
- Sinatra inspired8
- Isomorphic js.. superfast and easy5
- Rapid development4
- Socket connection2
- Event loop2
- Light weight2
- Resource available for learning2
- Data stream1
- Not python23
- No multithreading14
- Not fast5
- Easily Insecure for Novices2
- Not a lion1
related ExpressJS posts
Our whole Node.js backend stack consists of the following tools:
- Lerna as a tool for multi package and multi repository management
- npm as package manager
- NestJS as Node.js framework
- TypeScript as programming language
- ExpressJS as web server
- Swagger UI for visualizing and interacting with the API’s resources
- Postman as a tool for API development
- TypeORM as object relational mapping layer
- JSON Web Token for access token management
The main reason we have chosen Node.js over PHP is related to the following artifacts:
- Flexibility: Node.js sets very few strict dependencies, rules and guidelines and thus grants a high degree of flexibility in application development. There are no strict conventions so that the appropriate architecture, design structures, modules and features can be freely selected for the development.
Overview: To put it simply, we plan to use the MERN stack to build our web application. MongoDB will be used as our primary database. We will use ExpressJS alongside Node.js to set up our API endpoints. Additionally, we plan to use React to build our SPA on the client side and use Redis on the server side as our primary caching solution. Initially, while working on the project, we plan to deploy our server and client both on Heroku . However, Heroku is very limited and we will need the benefits of an Infrastructure as a Service so we will use Amazon EC2 to later deploy our final version of the application.
Serverside: nodemon will allow us to automatically restart a running instance of our node app when files changes take place. We decided to use MongoDB because it is a non relational database which uses the Document Object Model. This allows a lot of flexibility as compared to a RDMS like SQL which requires a very structural model of data that does not change too much. Another strength of MongoDB is its ease in scalability. We will use Mongoose along side MongoDB to model our application data. Additionally, we will host our MongoDB cluster remotely on MongoDB Atlas. Bcrypt will be used to encrypt user passwords that will be stored in the DB. This is to avoid the risks of storing plain text passwords. Moreover, we will use Cloudinary to store images uploaded by the user. We will also use the Twilio SendGrid API to enable automated emails sent by our application. To protect private API endpoints, we will use JSON Web Token and Passport. Also, PayPal will be used as a payment gateway to accept payments from users.
Client Side: As mentioned earlier, we will use React to build our SPA. React uses a virtual DOM which is very efficient in rendering a page. Also React will allow us to reuse components. Furthermore, it is very popular and there is a large community that uses React so it can be helpful if we run into issues. We also plan to make a cross platform mobile application later and using React will allow us to reuse a lot of our code with React Native. Redux will be used to manage state. Redux works great with React and will help us manage a global state in the app and avoid the complications of each component having its own state. Additionally, we will use Bootstrap components and custom CSS to style our app.
Other: Git will be used for version control. During the later stages of our project, we will use Google Analytics to collect useful data regarding user interactions. Moreover, Slack will be our primary communication tool. Also, we will use Visual Studio Code as our primary code editor because it is very light weight and has a wide variety of extensions that will boost productivity. Postman will be used to interact with and debug our API endpoints.
- Open source145
- Easy to use66
- Easy to setup and get it going54
- Well designed53
- Easy to develop and maintain applications48
- Easy to get started45
- Beautiful code18
- Rapid development16
- Love it11
- Get started quickly10
- Simple to use10
- Easy to integrate10
- Perfect for small to large projects with superb docs.9
- For it flexibility9
- Flexibilty and easy to use8
- Not JS6
- User friendly6
- Not JS10
- Not fast4
- Don't has many module as in spring1
related Flask posts
One of our top priorities at Pinterest is fostering a safe and trustworthy experience for all Pinners. As Pinterest’s user base and ads business grow, the review volume has been increasing exponentially, and more content types require moderation support. To solve greater engineering and operational challenges at scale, we needed a highly-reliable and performant system to detect, report, evaluate, and act on abusive content and users and so we created Pinqueue.
Pinqueue-3.0 serves as a generic platform for content moderation and human labeling. Under the hood, Pinqueue3.0 is a Flask + React app powered by Pinterest’s very own Gestalt UI framework. On the backend, Pinqueue3.0 heavily relies on PinLater, a Pinterest-built reliable asynchronous job execution system, to handle the requests for enqueueing and action-taking. Using PinLater has significantly strengthened Pinqueue3.0’s overall infra with its capability of processing a massive load of events with configurable retry policies.
Hundreds of millions of people around the world use Pinterest to discover and do what they love, and our job is to protect them from abusive and harmful content. We’re committed to providing an inspirational yet safe experience to all Pinners. Solving trust & safety problems is a joint effort requiring expertise across multiple domains. Pinqueue3.0 not only plays a critical role in responsively taking down unsafe content, it also has become an enabler for future ML/automation initiatives by providing high-quality human labels. Going forward, we will continue to improve the review experience, measure review quality and collaborate with our machine learning teams to solve content moderation beyond manual reviews at an even larger scale.
- Browsable api64
- Easy to use64
- Great documentation53
- Fast development41
- Easy to use, customizable, pluggable, serializer9
- Django ORM5
- Less code2
- Easy implementation2
- Bad documentation2
- Reimplements Django functionality2
- No support for URL Namespaces1
- Bad CSRF handling0
related Django REST framework posts
Zulip has been powered by Django since the very early days of its development with Django 1.4, back in 2012. As a reasonably mature web application with significant scale, we're at the stage in many companies' development where one starts to rip out more and more of the web framework to optimize things or just make them work the way we want. (E.g. while I was at Dropbox in early 2016, we discovered we only had about 600 lines of code left from the original Pylons framework that actually ran).
One of the things that has been really fantastic about Django is that we're still happily using it for the vast majority of code in the project, and every time Django comes out with a new release, I read the changelog and get excited about several improvements that actually make my life better. While Django has made some design decisions that I don't agree with (e.g. I'm not a fan of Django REST framework, and think it makes life more difficult), Django also makes it easy to do your own thing, which we've done to great effect (see the linked article for details on our
Overall I think we've gotten a ton of value out of Python and Django and would recommend it to anyone starting a new full-featured web application project today.
I’ve been using Django for the last year on and off to do my backend API. I’m getting a bit frustrated with the Django REST framework with the setup of the serializers and Django for the lack of web sockets. I’m considering either Spring or .NET Core. I’m familiar with Kotlin and C# but I’ve not built any substantial projects with them. I like OOP, building a desktop app, web API, and also the potential to get a job in the future or building a tool at work to manage my documents, dashboard and processes point cloud data.
I’m familiar with c/cpp, TypeScript.
I would love your insights on where I should go.
- Open source35
- Great ecosystem of tools13
- Ease of use10
- If you know http you know sinatra8
- Large Community5
- Flexibilty and easy to use1
related Sinatra posts
- REST API1
related Koa posts
I think next step could be to use Koa but I am not sure.
- Makes me Hapi making REST APIs25
- Simpler than other REST libraries14
- Quality Driven Ecosystem13
- Easy testability5
- Better validation1
related hapi posts
What is the best way to increase your income as a freelancer in 2019? What frameworks should be the best to learn? React Node.js Docker Kubernetes Sequelize Mongoose MongoDB ExpressJS hapi Based on trends I've picked up a JS full stack. If you need to work under startups you may replace React with Vue.js . If you want to work in outsourcing Angular 2+ may be better.
What is your opinion?
- Open source12
- Restful & fast framework10
- Illuminate support7
- Brother of laravel and fast4
- Easy to learn4
- Not fast3
- Not fast with MongoDB1
related Lumen posts
This is my stack in Application & Data
My Utilities Tools
Google Analytics Postman Elasticsearch
My Devops Tools
Git GitHub GitLab npm Visual Studio Code Kibana Sentry BrowserStack
My Business Tools
I have a final-study project, and I'm responsible for making decisions for what frameworks to use (both front-end and back-end) and the software architecture to adapt.
The project is a web application for a concrete company. The main goal is to calculate what is called OEE (Overall Equipment Effectiveness), meaning simply the efficiency of the machine. The calculation and display of OEE will be in real-time, meaning that this rate will be updated every two minutes, and it will appear in a graph. Also, we have the state of the machines to display whether the machines are working just fine or there is some problem.
This will be done using IoT, meaning that important data will be sent from the machine to the web application that I will create via the API (someone else will be responsible for this matter). Of course, the application will include employees, factories, as well as machines, ... etc.
The most important thing in the application is real-time performance monitoring of machines and the OEE.
A real example of what we want to do => https://evocon.com/
I choose to use Laravel because : - This type of applications could be implemented by Laravel - Me and my colleague have some knowledge and practice with this framework (choosing other technologies like Node.js means a huge learning curve) - Easy documentation and abandon tutorials
The only reason why I choose Vue.js because It goes well with Laravel (from what I have learned).
The second important question, which software architecture should I adapt ? should I use Microservice Architecture or the normal and well-known Monolithic Architecture? I know the benefits and disadvantages of the first and second methods, but I do not want to make a wrong decision.
If I choose microservice for this project, I will use Lumen (PHP Micro-Framework By Laravel).
Should I use micro-frontend as well? Like VuMS, or it's not necessary for this project?
I don't think that the reasons to choose Laravel are enough, so I want to understand the obstacles that I may face during the development.
In the end, I decided to ask and take expert opinions.
NOTE: this web application will be used by other companies, like in the case of evocon.
If there are tips and things that I must know to accomplish this project, please mention them.
Thank you very much.