Lumen (Laravel) V.S NODE.JS Solutions - node.js

i need to develop an API backend that it should be :
robust
high performance
provides RESTFULL API
connected to a Mysql storage: i prefer a relation db for the
complexity
only backend not also frontend framework
I'm undecided between :
Lumen : i need only API service because i choose react js as frontend framework.. so i think is better lumen than laravel because i no need frontend
Nodejs api solution: In this moment searching on the web i found Seals and Loopback as framework for my api backend.
I find discortanti opinions ... some told that php solution as Lumen is not good for performance ( see http://www.infoworld.com/article/2866712/php/php-vs-node-js-an-epic-battle-for-developer-mind-share.html ).... and some one told that in this moment there arent reliable api backend framework in node js: seals is not good for performance and about loopback i found few comment... so i ask you what is the best choiche for performance and robust solution ..

I'd recommend Loopback. It has been acquired by IBM so you can expect continued improvement and stability.

If you think about JavaScript for client and server side then you can choose node.js with sails.js framework which is follow full MVC structure. If you use sails.js, you don't need to be expert in node.js. It's easy like other PHP framework like Laravel. For database you can use MongoDB. To work with different types of API include angular.js also. So finally your platform dependencies are:
1. Node.js (Server Side Coding)
2. Sails.js (For Maintain MVC Structure)
3. Angular.js (For Managing Frontend, HTTP request API etc)
4. MongoDB (For Database)
So that you will find out everything require your working development dependency. I think this will help for you.
Thank You :)

Related

Connect to remote Realm with nodeJS for server side and Angular for client side, good practice?

I'm currently trying to figure out which technologies to use in order to maintain "realm features" in a web browser application. I've put together a rudimentary Swift app on iOS which allows for real-time updates coming from realm cloud.
I've spent the last 3-4 hours reading about Nginx, nodeJS, Angular, Express (angular framework) and other technologies.
As far as I've been able to understand, Realm can work with GraphQL which in turn lists nodeJS as a dependency (https://docs.realm.io/sync/getting-started-1/web-based-graphql).
So far I have a Debian 10 server running nginx. I have also installed nodeJS and NPM.
Assuming that I'm on the right path, where do I go from here?
It's proving to be a pretty tough challenge for me but, any help is greatly appreciated!
Thank you for your time.
Regards,
Renato

Integrate Node.js with Angular 2 application

I am creating an angular 2 project which will use Node.Js as backEnd and Node.Js will make calls to 3rd party external APIS(Like Gandi) which accept calls only from Python, PHP or Node.Js.
I have chosen Node.Js.
I have called few APIs from Angular 2 services using HTTP protocol. Now I do not know where to write this Node.Js code and how to Integrate this Node.Js code with Angular 2 services.
I think, Just a sample application or sample architecture which is a combination of Node.Js and Angular 2 will help a lot.
Do I need to create Restful services using Node.Js?
If Yes, Do I need to use Express.Js also for server purpose?
Note: I do not want a Mean Stack application(No Mongo DB)
Actually it's pretty straightforward.
What I'd do is to simply consider the Angular 2 app on the frontend and the Node.Js API on the backend as independent projects. It's very likely that they will run on different providers (eg. Firebase for Angular 2 app and Heroku for the Node.js server) so it makes sense to handle them as 2 different projects with it's unique dependencies.
I have recently done a similar project, using Angular 2 + webpack as frontend and Django on the backend: https://github.com/damnko/angular2-django-movies
Hope this makes sense, otherwise please let me know
i think this repo will serve your purpose.
https://github.com/singh15/feed-server
which is using twitter api to get data and send that data to any front-end.

Do I need Express or some other framework in order to make a Node site?

People keep mentioning Node as a back-end framework but it's actually a runtime. Does this mean I need to install a package like Express in order to actually create a website based on the Node runtime? Does Node come with its' own implementation of a back-end framework?
Looking at the Node docs most of this stuff has nothing to do with usual framework stuff like testing, migrations, MVC, or asset precompilation.
It is not required to use Express or a similar framework to develop web pages since you can just create a web server using Node's http module.
That being said, the additional functionality that a framework like Express would provide is something you should at least consider.

Angular application requred node.js

I am going to create my first angular application. I have read lots of angular tutorial and many of them mentioned node.js.I am really got confused here.
Do we really need to install node.js and other dependencies to run angular application ?
Can't I just add respective angular libraries in my eclipse and create Angular application?
What are advantages of using node.js?
Also it is necessary to add all angular code is under App folder?
Regards,
Dip
As it is said on note.js website
Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
So it depends if you want to have server logic (services) or not. If you are creating just the UI of the app you don't need note.js. Also Angular is NOT dependable on note.js

Re-using backbone routes, models, and views on the node.js server

I am trying to build an application which both works as a SPA and as a normal application without re-writing any of the code as much as possible. My research has led to believe that this could be very possible using node + backbone (on both the server and client). I have found some resources on how to do this but nothing truly complete. Have anyone tried a full solution to re-using all the code?
The resources that I found:
Re-using backbone models on the server: http://blog.andyet.com/2011/feb/15/re-using-backbonejs-models-on-the-server-with-node/
Re-using backbone views and layout manager on the server:
http://vimeo.com/46033641
I have also found some frameworks that achieve this such as (bones, derby, meteor), but I dont feel like using such a framework is the best solution since I still want to have full control over backbone and node.
What you are trying to implement is Resource-View-Presenter model. Please read this article completely http://blog.nodejitsu.com/scaling-isomorphic-javascript-code. It provides much needed insight for isomorphic code that can execute both on the client and the server. It also helped me understand various models and architectures.
What backbone.js uses is traditional MVC framework, which cannot work on both client and server without modifications. So if you want to stick to backbone.js you will face this disadvantage sooner or later. I tried backbone too and found no easy way to do that.
I tried looking for RVP frameworks on node.js, but it is still new. I would suggest you look into flatiron.js http://flatironjs.org/. It is based on Resource-View-Presenter model, the only one I could find for node.js. Some changes will be required to implement on both server/client, but it is not much. You will find it is similar to backbone.
Hope it helps you to find the right path.
I recently did some research on the field and found some interesting projects that are using the same backbone code on the client and server (nodejs).
Project 1
The first one was introduced by Keith Norma from Groupon. He managed to reuse backbone router + templates on the client and server.
App demo: https://github.com/keithnorm/SpainJS-Pipedream-Demo
Presentation at SpainJS talk: http://www.youtube.com/watch?v=jbn9c_yfuoM
Project 2
The second project is Rendr presented by Spike Brehm from Airbnb but not released yet to the public. It seems a bit more ambitious as it also trades backbone model and collections to the nodejs server. You can read more about it here: http://nerds.airbnb.com/weve-launched-our-first-nodejs-app-to-product
UPDATE: Rendr code has been released: https://github.com/airbnb/rendr
Project 3
There is another project that also allows to share backbone code between client and server: https://github.com/developmentseed/bones

Resources