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 3 years ago.
Improve this question
If I have had experience with JS, yet still need to learn a lot more, es6 and up, would it be ok to start on React or Vue? I recently graduated and it seems like a lot of companies like the sound of you knowing react, Angular or Vue as well.
You should first learn the basics of vanilla JavaScript and modern syntax and features found in ES6. Like Jared said above, frameworks come and go. If your fundamentals in JavaScript are strong, you would easily be able to pick up on any framework/library. Also, as you learn/work on a framework, keep practicing coding in vanilla JS side by side. That will strengthen your JS skills.
Some of the things you should know before you start with a framework are:
Object-oriented JavaScript - classes, constructors, methods, inheritance.
ES6 syntax/features - arrow functions, let/const, importing/exporting modules
higher-order array methods
Also, you should think of where you want to work - at a large MNC or a startup or if you want to freelance.
Most large companies, that make enterprise level apps, use Angular because it provides a strict framework to follow. React and Vue are much more relaxed in terms of how you implement things.
For Angular, you might need to have some knowledge of TypeScript, which, again, won't be difficult to learn if your JS basics are clear.
I would suggest you go through the basics of JS and then pick one of Angular, React or Vue and then give some time regularly to vanilla JS.
Word of caution: Do not get into the argument of which framework is better than the others. You will find many such videos/articles that try to prove one is better or worse than the rest, but, trust me, all that matters is your skills in vanilla JS.
Best of luck. :)
React is javascript so learning React means learning javascript, But You cannot learn React without JavaScript or without knowing JavaScript in the first place. In comparison to other frontend solutions, React makes heavily use of JavaScript, So get some basic and advance javascript experience.
The simple answer will be yes you can. I did the same. I had very little knowledge of javascript before I started with React. You will learn javascript while you learn to React because React is essentially just javascript.
You will be using all the things while you will be learning to React like class, let, spread operator and lot more. I will suggest to watch a few small tutorials and can jump right into developing something ad you will learn along the way.
That being said I will suggest you build on your javascript basics while you learn React because there is a new framework every few months. So in summary just start learning without thinking.
You don't need to be an expert in JS to start with React, for example, but you need to know at least the basics of this language, and other things like algorithms and data structures. I recommend also to study how React or other JS library works, in order to don't be stuck with the basics of this libraries.
Related
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 5 years ago.
Improve this question
I am trying to develop a 3d-editor with three.js. I know javascript and three.js but I am not familiar with web-dev in depth and never tried UI frameworks. While mrdoob's editor uses plain javascript for UI elements, I am not sure which method will be more beneficial for me? To use a framework like react.js or vue.js; or go with plain javascript for UI elements.
Project owner planning to have dynamic and complex UI elements like a tutorial wizard, a console or fields that will be dynamically change with data coming from server.
So what are the benefits and drawbacks of using pure js or frameworks, considering it will be a three.js project.
And should I use library's like react-three or vue-threejs, or start with integrating three.js scene to framework for the sake of stability?
First you need to understand what is those framework trying to do for you
React, Vue, Angular is abstracting DOM manipulation when state changes. And they are mature enough to adopt in production
react-three, vue-threejs is abstracting Canvas/SVG/WebGL manipulation away when state changes.
In theory it is possible to build every product without any framework. But using them will save lots of time and give huge benifit for maintainability. But you need to put effort to learn it first.
So my answer is that for
Small/POC project - If you are not familiar with those frameworks, go ahead with plain javascript, jQuery to manipulate DOM and canvas directly. But highly recommended to learn and use these frameworks in the future. It will increase your dev speed insanely
Large/Long-term project - Do use React/Vue/Angular. Leverage your risk in adopting react-three/vue-threejs
UI frameworks are great, they have done a lot of the hard work for you. Personally I really like VueJS, it's very lightweight but extremely powerful when it comes to creating SPAs. And from what you have said someone has already created a vue-three plugin
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 5 years ago.
Improve this question
I would like to understand how to conduct an independent evaluation of available popular JS front-end frameworks (React/Redux, Vue, Angular and others) for use in a new app we are trying to build ground up.
Many references online end up with conclusions and rates one framework over another. However, I find it difficult to relate with. Say, one report says learning curve for Vue is simpler than JSX for React. I don't find that argument very meaningful since it depends on one's exposure and idea of modularizing a UI component.
So, this SO question is raised to get receive a mixed bag of evaluation suggestions/strategies/schemes to conduct an independent inquiry into these available and popular frameworks.
What themes and approaches can I consider to evaluate popularly available front-end frameworks ?
Please advise.
This answer is given by jeremy-d and copy paste his answer because i
love react and i found react more interesting to work. It's be 1 year
in react and the react community is also very active.
https://stackoverflow.com/users/856942/jeremy-d
Advantages of using React:
easy to know how a component is rendered, you just look at the render function.
JSX makes it easy to read the code of your components. It is also really easy to see the layout, or how components are plugged/combined with each other.
you can render React on the server-side.
it is easy to test, and you can also integrate some tools like jest.
it ensures readability and makes maintainability easier.
you can use React with any framework (Backbone.js, Angular.js) as it is only a view layer.
What is not so good about React?
it is only a view layer, you have still to plug your code for Ajax requests, events and so on. Some people get surprised by that.
the library itself is pretty large.
the learning curve can be steep.
If react-native is really how it was described, react is going to become even bigger.
Performance wise, it is really good as it relies on a virtual-dom to know what is really changing in your UI and will re-render only what has really changed. It does have trouble with very large, slightly changing, lists of children (2000 <li> test), but can be optimized simply.
If you are not sure, just think about the big projects using React:
instagram, hipchat, facebook chat and so on.
Some resources:
React for the stupid people
Rebuilding Hipchat with React
Why React?
And probably one of my favorite blog post Why React is awesome?
The community behind a framework is one of the most important factors for me. I want to be able to find answers on Stack Overflow for my questions, and I want to be able to find libraries and packages I can use that are actively maintained.
I like React most of all because it is easy to integrate into some other backend framework e.g. Rails.
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 5 years ago.
Improve this question
So I won't say I'm a complete beginner, as I know the very basics and have a CS degree(that I'm very rusty at) but I have gone back through and refreshed myself with the CS50 Harvard course.
The last project is to build something, and I've gotten more into learning JS for unit testing at work and while we mostly use rails...I'm interested in learning the new emergent stuff.
I've heard the 70/30 rule applies to full stack devs, and I can't imagine if ever be good with front end stuff so I'd imagine that would be my "30". However with ES6 out and all these new conventions and frameworks I'm a bit lost where I should start?
There is a highly rated JS and Jquery book on Amazon I've been eyeing, but it's quite old. And I wonder about backend frameworks too.
My ideal learning "stack" would be node/react and mongo (with express for node) but it seems like a bad idea to learn them all at once. If I'm interested in backend should I just stick with learning node/express first?
Do I need to worry about ES6 as a beginner? I guess I'm just stuck where to start and in general which path I should take. I've done some dabbling in express but it seems like getting at least decent with JS and Jquery makes sense first?
Thanks
Sorry I think StackOverflow is not the right place to ask about your question and this will be soon removed or closed and tagged as "too vague", but I'm here to help and share what I know, so I'll answer anyway:
So you:
Know the very basics of JS
Have a CS degree
Are interested in back-end development
Well, you're years ahead of other people starting with JS. You know something and you want to specialize in a given technology. That's great.
You can start with Node.js since you want to do back-end development, and your CS background could help you with that. Using Node.js will give you the environment you need and you can make your experiments with JavaScript there. Node.js is just a collection of JavaScript APIs for server-side programming, so learning it will also make you a better JS developer since you'll learn both together.
Do you need to worry about ES6? Well, don't think about ES6 as something different than JS. If you learn it by up-to-date JS books you'll learn it as well.
I would avoid thinking about your "stack" right now. Learn Node.js and JS by the way and you'll have a strong foundation to learn anything else you want.
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 6 years ago.
Improve this question
First I learned HTML, CSS, JavaScript (es5, I believe I have a firm understanding of the foundation, like event loop, hoisting, closure, binding etc), then jQuery, PHP.
Then I started using frameworks. Built some pages with ReactJS (really liked the the uni-direction and dividing everything into components structure), built a restful API with Slim.
Then I realize ES6 has been out for a while now, and now I should covert all my React code to that. I also find out about requireJS, and Flux (design pattern), redux (but I need NodeJS to even get started). And a lot of other frameworks.
I'm just so overwhelmed by all of these, I don't know where to start or what to use, for example:
should I be using requireJS or just learn ES6 import/export or should I be using nodeJS? Sometimes it is tough to even understand example from Git, their files are all over different folders.
what other framework should I learn, AngularJS, backboneJS?
I have a Computer Science degree and just want to get into a junior web developer position, and I need a job. But I feel like new frameworks keep on coming, by the time I catch up, new ones will come out, how am I ever going to get into the field?
I'm in despair, will someone with knowledge please give me some direction? I really need advice and have no idea who or where to ask beside here.
To answer your questions specifically:
...now I should covert all my React code to that.
Just use new features as you become aware of them, no need to convert everything!
I also find out about requireJS, and Flux (design pattern), redux (but
I need NodeJS to even get started). And a lot of other frameworks.
My advice is forget about requireJS, flux and redux( -take a look at mobx)... Get webpack/babel/react set up (there are template projects you can use as starting point) and you are good to go with es6 and learning cutting edge skills that will easily land you a job. IMHO.
should I be using requireJS or just learn ES6 import/export or should
I be using nodeJS.
Yes, just use es6 import, why not? You'll need node/npm installed as many things depend on them.
what other framework should I learn, angularJS, backboneJS.
Nah, these are old hat now - continue with react as it is in demand right now. Look at mobx as an alternative to redux. Other libraries? Knockout is old, but good. RxJS is interesting. Learn about functional programming, protocols like HTTP and fundamentals that will distinguish you in an interview context. Make demos.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I recently discovered Typescript. Coming from an OOP C# background, I find Javascript very difficult to work with and am naturally thrilled about Typescript.
I'm currently using Backbone.Marionette.js in my application to manage future complexity (future because it's still the early stage and not yet that complex).
Now I understand there is still room for Backbone.js to play an important role in my application even if I'm using Typescript, but the more I learn Typescript (and begin to love it), the more I start thinking that its objective in managing complexity in enterprise application overlaps too much with what Marionette tries to accomplish. I understand they do it in two completely different ways but coming from C# I of course prefer the OOP approach instead of yet another JS plugin.
Are my considerations to phase out Marionette out of my application justified or is there less overlap than I think? Keep in mind, I'm new to all 3 Backbone, TypeScript, and Marionette and this is the first application I've used them in, which makes it difficult for me to assess this question.
"TypeScript vs Marionette" is the wrong perspective. That would be like "C# vs WinForms", and asking "Should I stop using WinForms when I switch from C# to VB.NET?" This question doesn't make any sense because it is trying to compare a language to a framework.
There are some things that TypeScript will prevent you from doing with Marionette or any other JavaScript framework that takes advantage of JavaScript being dynamic. But that doesn't mean TypeScript replaces Marionette or any other framework. It only limits the usefulness of the framework due to restrictions that TypeScript places on you.
My answer would be based on the following considerations.
Firstly, what parts of Marionette are you using? If it is just the module loading then you don't need it. If you are using a lot of the templating and eventing it may be useful still. If you aren't sure yet what parts you might use, don't use it until you have a compelling reason to use it.
Secondly, how much can you write before you need to make decision? For example, if you start coding today, how long can you defer the decision. The longer you wait, the more information you'll have to help you make the right choice. If you write plain TypeScript, you can wait until you actually need to bring in a framework or toolkit and then choose the one that solves your real problem.
So really, my answer is start without it and wait until you have a problem to solve before choosing how you solve it.