Salutare!
Recent am inceput un framework open source, care este inspirat din Laravel.
Proiectul este scris Node, fiind wrapper peste express, si este scris in TypeScript.
Un proiect similar este nestjs, dar are un dezavantaj mare, pentru ca impune o arhitectura foarte complexa devilor.
Un alt proiect din care ne putem inspira la capitolul plugins este mono-js, acesta a aparut in promovari destul de recent, si este foarte bine pus la punct:
- se poate imbunatati prin plugins
- ofera mana libera dev-ului foarte mult
- session
-
routes/middleware/helpers
etc.
Acest proiect a fost dezvoltat de core team-ul Nuxt.js.
De ce am reinventa roata?
- pentru pasionatii de Laravel care vor/trebuie sa faca o tranzitie spre NodeJs, dar au o reticenta in ceea ce priveste knowledge-ul - putem oferi un framework care are out of the box multe features ce le are si Laravel
- pentru proiecte noi, ofera un base config, care nu impune nici o rigoare in plus, se poate folosi si express out of the box, dar se poate lucra peste framework (cu alte cuvinte entry-ul este tot un
server.js
si expune unRouter
si de aici in colo te bucuri doar dehot reload/ts-config/ts-lint/debug config si folder structure
sau poti importa clase si utils dinFacades
, care expune core-ul framework-ului - pentru a oferi un
[cli](https://github.com/tsejs/tse-cli)
care ar putea sa faca scaffolding la structuri de:new routes + controller + model, middlewares, teste, sessions, db configs etc.
Long story short: as vrea sa iasa in final un framework light, dar powerful, iar CLI-ul sa ofere aceste tipuri de install - light version vs full version.
What is in place? Se poate vedea aici
- CLI-ul care este aici
La ce se lucreaza acum?
- DI (dependency injection) - diferita de ce se stie pana acum in JS
Ce vrem sa dezvoltam?
- Mail system
- Auth system
- Sessions
- Cron Jobs
- Plugins
- SQL integration
- Sockets
- maybe an MVC with it’ own template engine? or leave it as an API framework?
- Develop a custom plugin for testing like over supertest (something similar with mono-test-utils
Multumesc mult!