As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I am new to Node.js. I am very keen about learning it from scratch. I have a project which is like a Social media advertising web app. It won't be like Facebook, it is more like Myspace. It will be small at first, but it may become big in the future.
I would like to know if it's better to:
Use Node.js without a ready-made framework
Using an existing framework like Express, Geddy
I have done some research on sites out there using Node.js, and there are good sites that use a ready-made framework, and there are sites that don't. Is it worth creating our own site from scratch, or is it better to use a framework? Will using a framework restrict my ability to design my app and get in the way of learning Node.js?
So I would like to know that should I choose a framework or not. I am fine with learning Node.js from scratch and I'm not in a hurry or something.
The followup question is that there are lots of coding tutorials out there, but I would like some resources on the non-coding parts, such as software design, structure, etc..
Thanks for answering in advance.
Express, don't give it a second thought as a beginner.
While you may be interested in learning "from scratch" - you mention you are trying to develop a project which I assume should takes precedence over developing a framework.
Express, and node in general, is not that high-a-level of abstraction so you are not "losing" power as you may with a Java, etc framework.
You haven't mentioned anything hard or exotic that warrants a DIY framework. Even if you need that at some point, you will gain experience in node/express way of doing things first.
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I am learning Node.js and am currently studying WebSockets. As I understand it, Socket.io was intended to address inconsistent support that the various browsers had with WebSockets...If you check out caniuse WebSockets, it appears that WebSockets currently has practically full support. Can anyone explain why I should use Socket.io versus WebSockets in this case?
It handles graceful degradation for you to numerous technical alternatives to get bi-directional near-time communication flowing (web sockets, ajax long polling, flash, etc)
As of March 2013 that site lists web sockets at 61% support. This is not "practically full".
As of September 2021 that site lists web sockets at 98% support. All modern browser's support Websockets.
It handles browser inconsistencies and varying support levels for you
(these first 2 things are basically the same value created by jQuery, to put it in perspective)
It includes additional features beyond bare bones web sockets such as room support for basic publish/subscribe infrastructure and things like automatic reconnect
AFAIK it is more popular and easier to get help with than vanilla web sockets, at least at the moment.
However, just like there is VanillaJS for the jQuery haters, if you prefer using the official standard web socket APIs directly, by all means, knock yourself out.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I create a web server with Node.js. I'm using the Express framework. The database is MongoDB.
I want to host web server on a Linux machine. I don't know how to make the decision between the different Linux distributions, such as Debian, Unbuntu or RedHat.
My questions are:
What is the main difference of the different distributions?
Which factors should I take into account?
Which one is better for my requirement?
What is the main difference of the different distributions?
Nothing. (As long as running node.js is the only concern)
Which factors should I take into account?
Whether any unresolved issues are yet to be addressed by node.js.
Which one is better for my requirement?
I would consider Ubuntu, as it's popular & bugs are addressed faster due to shorter release cycle.
I'm using it in Debian. Rock solid!
In your case it also complies with the clever tip that Joachim Isaksson gave you - use whatever you're familiar with.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I am developing a ASP.NET MVC app deployed on Azure, and looking for a library providing asynchronous transport mechanism/fallback.
After my own research, I've concluded that there are two well-known candidates - Socket.io and SignalR.
My question is simple) What's the pros and cons of them? It there any good reason to use one over the other?
thanks :)
I'd have to say that SignalR is definitely the best approach for your application. With the current build our laptops serving as servers are pushing around 350k messages/s. With the next release it will be even higher (several multiples higher judging by current tests).
Check out the main site: http://signalr.net/
The GitHub: https://github.com/SignalR/SignalR
JabbR for questions: http://jabbr.net/#/rooms/signalr
I've never used SignalR and according to what google tells me it is a replacement solution for .Net apps.
So I guess you should give it a try.
Socket.IO is awesome, I love it but I'm a noder. According to their doc there is no .net/c# bindings. Maybe their doc is not up to date.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
Im looking for a great agile scrum tool that allows me to do histories, epics, and tasks, file uploads to histories or tasks, and integrate those with github commits, also it should allow to create graphics like time analytics per user and activities and project results graphs and stuff like that...
Im hoping to use something cloud related, if its free better... yet Im willing to pay if its worth it!
What Im looking for is to introduce the agile methodology into a 4 month project that I have with 4 friends, were looking to build our own company.
Thank you for your help!
=== EDIT ===
Ive been looking at the tools you guys have provided, still have not decided, and I found another one all may find useful, but as i said i have not decided, so have you guys checked TargetProcess.com seems interesting?
You can check out https://sprint.ly/ and http://www.pivotaltracker.com/
JetBrain's YouTrack might be a good fit for you since it's free for up to 9 users and its Agile Project Management piece is also free for the first year and has integration with GitHub.
One of the nice project management tools I have experience with is Trac. It's 100% and really easy to use. The UI is pretty simple but it is very useful. Ass addition of that it comes with Subversion integrated. Probably now you think that that will be very painful for configuration. Actually there is a bundle http://bitnami.org/stack/trac where you can find all that environment set it up and ready to use.
Check out JIRA
I think it will fit your needs and offers various reports.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I am new to AGILE development but i have a strong background in java and php. I need to do a CRUD application (university application and registration web app) as fast as possible and want recommendations on the best, fastest and easiest to learn AGILE dev framework for my work with preferably MySQL for data store.
Agile has nothing to do with which technologies you use to implement your application. It's about the methodology you use to build your app. The two are orthogonal.
I'd recommend Spring if you want a good framework for developing a web app in Java. But Spring won't care if you use agile, waterfall, or anything other methodology.
What do you mean by agile development framework?
By wikipedia:
"Agile software development is a group of software development methodologies based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams"
So agile is a way how you manage your project, not a framework in which you work (you can develop in agile way in any language).
Of course by agile you can understand sets of software development practices as:
Unit testing
TDD
Solid principles
which you can easier implemented using additional frameworks/tools
I'm not sure if methodology choices are necessarily "orthogonal" to technology choices (as stated above). For example, most contemporary implementations of Agile strongly recommend practices such as TDD, unit testing, continuous integration, QA automation and the like. These practices are easier to adhere to if you make the right technology choices. The technology stack I've had most success with is as follows: Spring, Hibernate, Maven, Eclipse, Hudson, Log4J, JBoss, JUnit, soapUI. However, the above list is merely a guideline and is not comprehensive. One could, for example, easily swap Hudson for CruiseControl and perhaps be equally successful.