Yujiri
@Yujiri@lemmy.ml
I'm the Yujiri from yujiri.xyz. https://yujiri.xyz/contact
- Submitted 1 year ago to opensource@lemmy.ml | 4 comments
- Comment on 10 Reasons Node.js is the best choice for your next web app:
This post seems to be an ad for some sort of development contracting company, which disgusts me, but I feel compelled to respond to the points anyway because their content is interesting independent of the ads. My position is that Node is a terrible choice, and I will rebut these reasons.
Easy learning curve
This paragraph assumes you already know frontend. Yes, it's easier to learn backend JS than another backend language if you know frontend JS; it's not easier to learn backend JS than another backend language if you don't know frontend JS. (Not all developers are full stack)
The V8 JavaScript engine has been proven to be at least twice as fast as any other server-side language out there, including Java and PHP, while using far less memory than any of them.
This argument is bizarre. I have seen that Node is faster than other dynamic langauges, but have you forgotten that compiled languages exist? I would be astonished if you could find any evidence that Node is faster or uses less memory than say, Go (the backend language we use at my job).
One Language
Much like the previous point, this assumes the perspective of a developer who already knows JS and nothing else. If you know only JS, you might prefer to use that language everywhere. But let's say you know two languages: Go and JS. Using Go would mean using different languages on the frontend vs backend of this particular application, but using JS would mean using different languages on the backend of this project vs your experience in other projects - neither side has the "One language" advantage.
Open Source and Community Developers
This is just silly as all relevant programming languages are open source. A closed source programming language would be a joke.
Scaling Up
The number of companies using it is irrelevant. The ability to scale is relevant, but it's not a distinct benefit; it's a consequence of being more resource-efficient, which almost any compiled langauge should beat Node's ass on due to the intrinsic performance advantage of compilation.
Ease of Deployment
I have no idea what this is even talking about. I thought this was about web backend, where all languages can be deployed in the same way.
A great thing about JavaScript frameworks in general, and especially Node.js, is that they can be used across a variety of different platforms: desktop, mobile, and web.
This only applies to frontend. No one's saying you shouldn't use JS for the frontend of a web app as you have no choice.
Security
There's no evidence that applications written in Node are more secure than applications written in another language such as Go or Rust, and the content of this point has nothing to do with "Security" anyway.
Ability to Use RESTful APIs
Any language can implement and use a REST API.
Lots of Modules / Plugins
It's true that Node has one of the biggest ecosystems of available libraries, but it's not the only one. Python, Go, and Ruby all have sufficiently large ecosystems that it seems impossible to find a task for which there isn't a preexisting library.
- Comment on Which FOSS licence would you suggest me?:
Depends on what terms you want. Summary of popular options:
- GPL is meant to ensure that any derivative works are also FOSS
- LGPL is similar, but the definition of "derivative work" is narrower, so proprietary projects can use its code as long as they aren't extending the LGPL work itself. Often used for libraries
- AGPL is like GPL, but also applies if someone is using your software as the backend for a network service rather than a program they distribute to users. A company can make a derivate work of GPLed software and offer access to it as a network service without being subject to the GPL terms because making something available as a network service doesn't count as distributing the derived work.
- ISC (or MIT or BSD, all roughly the same) is meant to not project derivative works. It makes your project FOSS but allows proprietary derivatives
- Comment on What text editor are you using?: