NodeJS as an avenue towards learning JavaScript [closed] - javascript

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I'm a backend programmer who works mainly in Python. I'll probably never want to be a full time front end developer, but with the goal of growing my skill set, I would like to become at least passably proficient in JavaScript. It seems like a language that is wearing a lot of hats nowadays, and if nothing else, I'd like to a little more knowledgable about 'their world' when I'm working with front end guys.
We're using NodeJS for some server side work at my company, and I was curious about it. I've found a few good tutorials and it seems interesting. It seems like it might be a good way to familiarize myself with JavaScript, since it comes at it from an angle that I understand -- server side programming.
But I am also a little worried that if I learn both at once, I won't be able to keep track of what's 'Stock JavaScript' vs features that are particular to NodeJS.
What do you guys think? Is bootstrapping myself into JavaScript familiarity by learning NodeJS a good idea? Or will I just confuse myself if I jump into Node without a solid understanding of the fundamentals of JavaScript?

If anything, the potential problems will be in the reverse: NodeJS is closer to 'true' JavaScript (as in ECMAScript 5) than you can reasonable program on the client side, where lots of native javascript features have to be avoided and re-implemented with libraries.

It's easier to learn Javascript in node because you aren't dealing with HTML, DOM, etc and can treat it like "just another language" - this is what I did.
Node doesn't "add" much to JS, unless you count using CommonJS modules, but that's more of a library and conventions than syntax.

Related

Opinions welcome: Why MEAN stack and Node.js? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
I am curious as to the fundamental reasons why we choose MongoDB, Node.js, Express.js, and AngularJS?
Here are the reasons I can think of:
MongoDB works well with JSON and data models, is faster than SQL;
Express and Angular gives the stack one language in Javascript;
Node.js is non-blocking, event based, and supports concurrency;
Angular is a wonderful front end framework.
Any other reasons? Also, how would you address the people who have an innate disdain for server side Javascript?
Thanks!
Well, people wanted to replace the LAMP stack (Linux, Apache, MySQL, and PHP/Python/Perl) for a very long time. When JavaScript was made possible to run on the Server side ie NodeJS, it paved way for a full development stack which is the MEAN stack.
The first advantage of the stack is the single language throughout the whole application - JavaScript. This made it easier for a person with JS knowledge to create a full on working application. This also made way for front end developers to explore more into how server side programming works.
Some startups and organizations thought that using a stack with one language will help them in limiting their resources. And easy delegation of work among the developers.
Even though MEAN stack is an awesome alternative to the traditional LAMP stack, it is still in its early stages. It is adopted only by few ambitious startups, but not by bigger organizations. They are still sticking to the legacy technologies. Also the components of the MEAN stack which is Angular, Express and Node are still in their childhood stages. There are no proven and complete use of the MEAN stack on a full scale solution.
Well organizations like Walmart etc. used Hapi.js and were successful in it, it tempts the other organizations to go forward with it , but also makes them skeptical on using it since replacing the already existing technology will be a bigger headache.
Also since a lot of the current employees are trained in Java, Python etc, developers in JavaScript are very few and JS is almost considered as an additional language to be known for a Java developer and the likes. JS hasn't been considered as a single language on its own.
Maybe few years down the line, the MEAN stack will prove itself a noteworthy alternative to the traditional stacks.
I work in the Retail Domain and a big organization. We are actually planning to use the MEAN stack for our inside projects. But no one ever gave a simple thought of using the MEAN stack in PROD.
EDIT: One more important reason these stacks are tempting is because they are all Open Source. Say MongoDB for example. Owning the software license every year is a big hit on the profits of the organizations with DB's like Oracle SQL etc. Going with an Open Source DB is a very cost effective option. But still they are skeptical on using it for Production.

Limitations/Drawbacks of web application development with node js mongodb and angularjs [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
It is quite common that people develop highly scalable and high-performance sites/web applications with node JS, mongodb on the back end and angularJS on the front end.
Can anyone give pros and cons for developing web based solutions with these technologies?
Web based solution is a very broad term. For both the front and back end tech choice it all depends on:
The knowledge of your existing team
Your target audience, B2B or B2C (i.e. how much you can dictate browser support... applies more to the front end)
Your budget
Which ties in with your time to deliver and required release cycle
The performance of your solution
Note that a high-performance site and a web application are two very different things, however unfortunately bad practice out there of people generally wanting to use tech for the sake of it (generally for their own learning sake over the benefit of the product), the line between the two it blurring.
A high-performance site with large concurrency is best suited to an appropriate back end heavy solution. There are arguments all over the web about which is best but perf tests to my knowledge suggest that node is very good but other languages can out perform it. However performance isn't everything as per my tradeoffs above.
A web app (say a single page app or SPA) is best built with client side heavy tech that is really in tune with the back end and apis. If your team is small and you all have good JS knowledge then it might make sense to use node with a JS framework (such as Angular, or React or the like) or an all encompassing front and back end solution such as Meteor.
Angular is really powerful, comes with testing mocks for you and allows really rapid development (took me a week to learn, having no prior knowledge of frameworks, but solid JS knowledge, I just read the entire manual) but in my experience falls short of building really large client side apps out the box.
There are only serious Drawbacks with using them if they aren't right for your solution in some way. You may find this later down the line after picking any one tech but that comes down to experience, knowledge and asking questions. Maybe supply more info and you might get less of a generic answer from me :)
p.s. I wasn't the idiot who downvoted your question without the decency of an edit or a comment :)

PHP and MYSQL system (plus HTML,CSS&JS) [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I went for a 4 month degree php & mysql classes and we are almost done with them, and they ask us to make a system that you could add, erase, and modify the data that the user can put in it (but is harder than that, I have to do it as they said to me, with their parameters and etc.. ), the thing is that i don't know from where i have to start (I'm doing the HTML so the "user" can use the system easily, but when it comes to do the php, JS and MYSQL part im broke), and I hope there's someone here that could help me. I'm not asking for someone to do it for me, that's not my intention, but i really appreciate if someone could lend me a hand so i can dig in more and more in this php world.
Bye!
PS: If someone wants to help me, we can chat by skype, or something like that, because my English is not that good, and by text-post maybe you wont understand what i want to mean.
1 - Agree on a design pattern
Having a suitable and elegant design pattern will help improve your development, and in most instances, make it much easier - as the foundations will be set.
Design patterns
2 - Adopt version control
A good platform is Git. Specifically GitLab or GitHub. Adopting version control will improve your development, and help you keep track of everything you do, building a story.
3 - Don't use outdated technology
Please don't use the old MySQL database extention. Instead, adopt MySQLi or PDO-MySQL. Using the newer technology will make your application much more secure against SQL injections... See full argument
4 - Be smart
Design your database in to be smart. Normalise your data, and structure your queries nicely - use stored procedures where neccessary, and transactional queries.
When using Javascript within your application, it may be worth while to look into some libraries. The most popular (IIRC) is jQuery
5 - Use a framework
Judging from your question, it may be easier for you to adopt a framework, where help is available.
Laravel
Symfony
... There are more. Choose the best one for you.
Also, have a read of PHPTheRightWay

Should I use Lua? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I am going to work on my new project where client has demanded to use 'Lua' if possible, I have never used it before and by searching on it I found it is fast compare to javascript and getting popular nowadays.
As I am very confused I had never use it before so I want to know something
Is it really better(in terms of performance and use) then javascript?
Will I get enough resources(because I don't want to move over after starting development due to lack of resources or it becomes hard to me develop)?
Will it needed anything other than C compiler to run?
Please guys it is really important to know about such thing before starting. Any help will be appreciated.
I'm assuming you're writing a standalone application in C or C++, and you're looking for a language to enable people to extend that application by embedding another language. That's pretty much Lua's territory.
Lua's strong point is that it's very easy to embed in your (C) application. It compiles quickly, it's tiny, licensing is liberal and using C functions from Lua is relatively easy. Standard Lua has enough performance for most things you'd use a language like this for; if you need more raw speed you could look into LuaJIT, the JIT-compiler for Lua.
As for your questions:
LuaJIT will probably be pretty much as fast as you can get for a dynamic language. Lua is used in games (Sim City, Far Cry, World of Warcraft), where performance is very important.
If by 'resources' you mean documentation: sure. Lua is a very simple language, much simpler than JavaScript; the manual should help you get started with the language itself, the wiki is tasty for tips about the embedding process. This article has an example you can copy/paste.
Lua pretty much runs everywhere a C program will run. It doesn't even need an operating system, and it doesn't depend on anything at runtime if you bundle it correctly.
Embedding a full JavaScript environment in your application, and interfacing your application to the JS environment, can be a lot of work (even though Google's V8 engine has some functionality to help you; see here).

Learning JavaScript by reading first or writing first? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I did check (and read) a few similar questions here, but this really applies to everyone differently since no one learns the same.
My question is not on what resources to use, for that I have plenty.
I am working my way through JavaScript: The Definitive Guide (and I have the good parts as well).
I'm reading up on the core language but I don't feel like the information is sticking (or rather I'm not getting much out of it).
My question is should I just write an application in JavaScript and reference my books (I'm a very hands on person, but do enjoy reading), or should I keep reading the book, do the exercises, and then write a program?
In short: should I just write js app first and reference my book, or read the book first doing the examples and then write a js application? I've done some basic programming in PHP/Python (nothing meaningful yet).
I always learn math this way and I suppose, I'm conflicted in how I should tackle learning a language. I feel like I could read many books, but perhaps this isn't the best way for me (I know others learn differently).
For starts, I'm considering writing a simple calculator in JS.
Like for any languages I would suggest to do both.
You have to immediately start applying what you are studying. This way you will focus what you learned and understand better how the language works.
JavaScript is a highly flexible language. You can start soft, then learn new things each day and it will grow with you. You will never stop learning with JavaScript because it's easy to start but difficult to master.
You can start with really small scripts. When you start to feel confident you can create more advanced scripts, start using frameworks, write plugins for them, and ultimately your own library of functions.
I only suggest you to start learning best practices as soon as possible, because there are many things you have to avoid while programming in JS.
Then as a last word, always do what you feel like is better, don't go crazy trying to learn everything immediately. Everyone learns and works at his own pace.

Categories

Resources