What framework + feature-complete component library is recommended in 2017?
React? Vue? Polymer? Plain JS with intercooler.js? I feel a bit overwhelmed.
What framework + feature-complete component library is recommended in 2017?
React? Vue? Polymer? Plain JS with intercooler.js? I feel a bit overwhelmed.
Really like Javascript over HTML? React is probably for you.
Don't care about details and just want things to work? Vue could be nice.
Prefer sticking as close as possible to the W3C specifications? You will like Polymer.
Telling you want you should use is like telling you what things you should value. Again, all the options are great. All of them have mature tooling, and will 'just work' if you buy in to their way of doing things. Just try them and figure out which one you like.
Big advantage of vue, that you can just include vue, some component library (like the above, or vue-mdl in my case) and start building stuff. You don't need learn 5 new transpilers and build tools to get the simplest thing done like described in https://hackernoon.com/how-it-feels-to-learn-javascript-in-2... .
The community is ever-growing and it has one of the most helpful and enthusiastic maintainers I've ever seen a JavaScript OSS project have. Ever. (Look at you Larkin!)
From egghead.io to online documentation, you will see that while webpack has a lot to it, it is easy to understand in chunks and each part of webpack serves a purpose to better optimize and structure your workflow.
[1] https://webpack.github.io/docs/tutorials/getting-started/
I understand where you're coming from (Webpack initially got a bad reputation as being complex and folks are working hard to improve it) but my note about complexity was relative to simply dropping a script in the page to get Vue.js up and running.
To all the Webpack maintainers, and to all contributors of open-source projects, I can't thank you enough for your efforts. You open doors and expand the minds of developers like me and I'm forever indebted to you.
The current Webpack docs, which have been completely re-written and are _vastly_ better, are at https://webpack.js.org/ .
And there are other individual Vue component libraries like VueTable etc.
I find vue to be an amazing library, got started within a week
I've had very good experience with it - if you know html/JS you will feel at home.
As for being "feature complete" - it has probably best implementation of material design elements and you can find a ton of other element on https://www.webcomponents.org/.
It is also interoperable with other solutions like jquery/angular/aurelia and others.
Polymer 2.0 looks to be much better.
https://github.com/vuejs/vue-element - this might give some hints.
Vue is optimized to create/update your DOM elements based on data. Polymer does create a DOM node and internally implement lot os JS to create their own shadow DOM. Each Polyer component can have different life cycle (for Example and Table Component can actually creat TR,TD elements after some time of creating your Custom Table Polymer component). And Vue does not know this. Once the Dom for parent tag is created, Vue assumes its work is done. And if data change mean while it will remove it or update it. But Life Cycle of prevously create Polyermer component may still in progress...and you will get lot of exceptions in console.
How to burn your fingers and see this problem..?
Try to use OnsenUI Polymer components with Vue.JS. Mainly any List and Table tags with dynamic children bound to data.
I think the time for Polymer is gone, and it is better to forget that it exists.
If angular 1.5 was OK for thousands of devs over recent years then Polymer that is comparable to ng2 or react is more then enough.
Not to mention that for a world without polymer - some of biggest enterprises in the world are betting on it (and I don't mean just google here).
If you still want to use it, use it without Vue or React.
I did bundle my components into single file - even throwing in sass compilation so I think the problem is elsewhere ;-)
Best way to do that is start with this template: https://github.com/Day8/re-frame-template
Which is based on this library: https://github.com/Day8/re-frame
ClojureScript is fantastic. Being immutable as a baseline makes it work so much better in the React world of things. That said, if you haven't used any Lisps it can be a bit intimidating (for me it still is, a bit), but you get to the point fairly quickly where things can be both daunting and productive at the same time.
If you prefer to stick with more raw JS, I recommend React without a data-framework until you find you need one. Raw react components are plenty to get you started.
ClojureScript gives you the opportunity to write code that's somewhat imperative, just with plenty of extra parentheses.
A smaller leap from a OO language to JS than to ClojureScript, surely you agree there.
That's largely why you can get productive reasonably quickly, even with the intimidation factor still present.
You will find 10 People that tell you use X, 10 use Y, 10 use Z, any suggestion is right and any would be wrong.
Look at the frameworks and features and decide which one come close to your prefered development style. It is not easy and it took time.
In the last 24 month i tried many: backbone, ember, aurelia, react, react redux and currently vue and many of which i forget the name ;-). All have there pros and cons.
If you always look for a newer thing, then you will never find one. To myself: Lesson learned ;-)
How familiar are you with JavaScript? HTML?
I don't know vue well enough to comment, but a lot of people seem to like it.
https://github.com/akveo/ng2-admin
And to conjure it alive with data: http://stackoverflow.com/questions/39905586/how-to-consume-r...
vue or riot would be a good choice to play and develop something quickly I think.
If you broaden the scope to 'let's use anything', then I'd suggest Ember since I like their model layer better.
The React ecosystem is a bit fractured at the moment, so jumping into it is a full-time job.
In a year or two, I expect it to settle down when some framework rises out of the morass and gains credibility amongst the majority of dev's.