Hi group, I am a new developer researching different ways to make my application and hoped you might be able to help me out. I like AngularJS for the front and I'm deciding how to do the back-end.
My app will be a single-page app on the front and a JSON API on the back. It will do some heavy computation on the server using a library written in C++. The data should be pretty isomorphic and have a few joins so I think SQL would be better than NoSQL, but I don't really understand NoSQL. Specifically what I'd like to know is whether a Node.JS framework like Express provides the following benefits I have read here<https://github.com/rails-api/rails-api>are provided by Ruby on Rails. And whether it provides other benefits that I don't know about but would be useful to me. 1) Object-relational mapping 2) Serve status codes only as responses 3) Accept nested, XML, YAML & JSON parameters 4) Reload server-side code in development mode 5) Protection against IP Spoofing 6) Generate request IDs Makes a unique request id available, sending the id to the client via the X-Request-Id header. The unique request id can be used to trace a request end-to-end and would typically end up being part of log files from multiple pieces of the stack. 7) Exception redirection Rescue exceptions and re-dispatch them to an exception handling application. 8) Cache responses Caches responses with public Cache-Control headers using HTTP caching semantics. 9) Test for stale session 10) Automatically set an ETag on all string responses This means that if the same response is returned from a controller for the same URL, the server will return a 304 Not Modified, even if no additional caching steps are taken. This is primarily a client-side optimization; it reduces bandwidth costs but not server processing time. 11) Add a mutex around requests If your application is not marked as threadsafe, this middleware will add a mutex around your requests 12) Add timer header to requests The server adds a header to the request saying how long it took 13) Allow routing POSTs to other verbs 14) Support for signed and encrypted cookies 15) Best Standards Tells Internet Explorer to use the most standards-compliant available renderer. In production mode, if ChromeFrame is available, use ChromeFrame. 16) Server-side, variable-verbosity logging 17) Protection against timing attacks 18) Configurable response caching 19) Serve URLs based on the route definitions 20) Serve headers only 21) Basic, Digest and Token Authentication 22) Instrumentation triggers registered handlers for a variety of events, such as action processing, sending a file or data, redirection, and database queries. The payload of each event comes with relevant information (for the action processing event, the payload includes the controller, action, params, request format, request method and the request's full path). 23) Generators for server-side test and MVC parts 24) Database change management system I'm also wondering about debugging and whether one back end has better debugging features than another. Thanks, Dan -- Job board: http://jobs.nodejs.org/ New group rules: https://gist.github.com/othiym23/9886289#file-moderation-policy-md Old group rules: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines --- You received this message because you are subscribed to the Google Groups "nodejs" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/nodejs/5529434c-c036-471e-a43d-90876e74564f%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
