platform/README.md

64 lines
3.1 KiB
Markdown
Raw Normal View History

2016-06-21 23:39:09 +00:00
# Angel
An easily-extensible web server framework in Dart.
2016-06-21 23:42:59 +00:00
[Wiki](https://github.com/angel-dart/angel/wiki)
2016-06-21 23:39:09 +00:00
2016-11-23 22:21:41 +00:00
[API Documentation](http://www.dartdocs.org/documentation/angel_framework/latest)
2016-09-19 11:39:48 +00:00
2016-06-21 23:39:09 +00:00
# About
I come from Node development, usually with Express and FeathersJS. When I started learning
Dart, I fell in love with it and the huge potential it has on the client-side. But I did
feel that server-side was lacking.
The goal of Angel is to present a server environment navigable to JavaScript pilgrims,
but also powerful enough to build robust JSON API's in little time. Another focus is to
make Angel extremely extensible, and thus most of the most common business logic is
shipped as its own separate Angel plugin.
In my opinion, it makes no sense that today's frontend tools have no real sense of
integration with backend tools, at least in JavaScript, where there are a trillion
of each. With the right server framework in Dart, we can build full-stack apps that
breathe and function as one single body, rather than as two segregated, monolithic units.
2016-09-19 11:39:16 +00:00
Thus, the third, and perhaps most important goal of the Angel framework is to be isomorphic. Angel is designed from the ground up to share code across the server and client. The client libraries even expose an identical API to the server implementation. Creating a full-stack app should be a streamlined experience, and this is virtually impossible without shared code.
Angel also prioritizes tooling. The app boilerplate is pre-fitted with all the plugins and configuration you need to launch an MVP in a matter of days. There is also Swagger code generator in the works. The rest is just implementation detail for you. No need to worry about the following:
2016-11-23 22:21:41 +00:00
* [Mustache](https://github.com/angel-dart/mustache)
* [MongoDB](https://github.com/angel-dart/mongo)
* [Seeding](https://github.com/angel-dart/seeder)
2016-09-19 11:39:16 +00:00
* Angular2 Client
2016-11-23 22:21:41 +00:00
* [Static File Server](https://github.com/angel-dart/static)
* [Proxy Forwarding](https://github.com/angel-dart/proxy)
* [Load Balancing](https://github.com/angel-dart/multiserver)
* [Authentication](https://github.com/angel-dart/auth)
* [REST](https://github.com/angel-dart/client) (client and server)
* [WebSockets](https://github.com/angel-dart/websocket) (client and server)
* [Server daemon](https://github.com/angel-dart/dartd)
* [Command-line code generators](https://github.com/angel-dart/cli)
* [Diagnostics and Logging](https://github.com/angel-dart/diagnostics)
* [Configuration](https://github.com/angel-dart/configuration) (client and server)
2016-09-19 11:39:16 +00:00
It's all taken care of for you.
2016-06-21 23:39:09 +00:00
Tally ho!
# Development
The base of Angel is just about done, but it still needs more
unit tests before it is ready for production.
If you'd like to contribute, feel free to read the docs (as well
as though generated by dartdoc), and then clone the repo. I plan to eventually
integrate Angel with Travis, so we can merge pull requests faster.
# Thanks for using Angel
Thank you for using this library. I hope you like it. I have put months of effort
into Angel.
Feel free to follow me on Twitter:
2016-11-23 22:21:41 +00:00
[@_wapaa_](http://twitter.com/_wapaa_)
2016-06-21 23:39:09 +00:00
2016-11-23 22:21:41 +00:00
Or, check out [my blog](http://blog.thosakwe.com).