ASTEROID JS is an open source platform for building fast and scalable mobile and desktop progressive web applications.
The project is designed to showcase the exact same functionality as Meteor, but without the monolithic structure. It trades a little simplicity for a lot of flexibility and performances.
Features
- Blazing fast
- Real-time data on the wire
- Scalable
- SEO ready (server-side rendering)
- Offline access
Technologies
| Problem | METEOR's solution | ASTEROIDJS's solution | Result |
|---|---|---|---|
| Database | MongoDB | RethinkDB | Built in real-time and scalable. |
| Database schema | Simple Schema | GraphQL | Simple & powerfull. |
| Client validation | Simple Schema | Joi | Clean API for client validation, although the package is HUGE. |
| Database hooks | Collections2 | GraphQL | GraphQL is overkill for small apps. |
| Forms | AutoForm | redux-form | State tracking awesomeness that works beautifully with react. |
| Client-side cache | Minimongo | redux | Bonus logging, time traveling, and undo functionality. |
| Socket server | DDP-server | socketcluster | super easy scaling, pubsub, auth, middleware. |
| Authentication | Meteor accounts | JWTs | JWTs can also serve to authorize actions, too. |
| Auth-transport | DDP | GraphQL (via HTTP) or using websocket | Don't use sockets until you need to. |
| Front-end | Blaze | React | Vdom, server-side rendering, async router, etc... |
| Build system | Meteor | webpack | Using webpack inside meteor is very limited. |
| CSS | magically bundle & serve | css-modules | component-scoped css with variables available in a file or embedded. |
| Optimistic UI | latency compensation | redux-optimistic-ui | Makes your app feel faster. |
| Testing | Velocity (or nothing at all) | AVA | Awesome es2016 concurrent testing. |
| Linting | Your choice | xo | No dotfiles, fixes errors. |
| Routing | FlowRouter | react-router-redux | Stick the route in the state, react-router SSR, async routes. |
| Server | Node 6 | Node 8 | Faster. |
The project is meant to be highly modulable, you can clone the GitHub repository and start using technologies you want to.
The code will be available soon, it will be similar to meatier.
The project has been launched by , check out
for more information.
PS: Collaborations are welcome, more eyes, more secure.