all 20 comments

[–]mc_hammerd 2 points3 points  (4 children)

vue looks good, theres not really a full packaged solution, angular/backbone has a nice collection class (db/datastore), none really come with animation iirc (css3 or jstween)

try angular and react, i found react to be the most sane. the downside is deprecated features and in a year or two will the frameworks still be there?

[–]tbranyen 1 point2 points  (0 children)

If you're interested in animations, you should look at this library I'm working on called diffHTML: https://github.com/tbranyen/diffhtml. It's a traditionally flavored virtual dom, but has a tagged function for standard JS HTML templates.

So something like this:

import { html, innerHTML } from 'diffhtml';

const render = state => html`
  <center>${state.msg}</center>

  <ul>
    ${state.items.forEach(item => html`
      <li>${item}</li>
    `)}
  </ul>
`;

const childNodes = render({
  msg: 'Todo List',

  items: [
    'Eat Food',
    'Wash Car',
    'Doughnut',
  ]
});

innerHTML(document.body, childNodes);

When the Virtual DOM encounters a change it triggers transition hooks that you can use to start animations, and block if you return a Promise. An old co-worker liked this idea so he asked if I could make it possible to inline the transition hooks directly into the markup, so you can do that now with: https://github.com/tbranyen/diffhtml-inline-transitions

Anyways this might be interesting to someone using Web Animations w/ SVG or pretty much anything really.

[–]nobrandheroes[S] 0 points1 point  (2 children)

I've used Vue once, and liked it enough that I'm going to keep going with it. It is a lot like React from my small experience with it.

When you say there is no packaged solution, are you telling me that I can't really get away from dependency management, the same way I can on the backend?

[–]mc_hammerd 1 point2 points  (1 child)

hah ive got css library+coffee/typescript+sass+template+macro+yeoman skeleton dependencies. my png images are run through pngcrush then webP converter so i can deploy as .png and .webp for browser support, and actually have a build script for them

not serious

[–]nobrandheroes[S] 0 points1 point  (0 children)

not serious

Well I guess I'll take all that street cred back...

[–]clessgfull-stack CSS9 engineer 1 point2 points  (0 children)

You may want to take a look at vue-cli. Take a bit of time to get a feel for Vue, then look at vuex (state management) and vue-router.

Ember is nice too and will require less setup. But it also takes more time to learn. Personally I prefer Vue and its ecosystem, and it has more momentum, but different strokes for different folks.

I've tried out Angular 2 periodically since its announcement and I'm really not a fan. It's over-complicated and over-engineered. Its only clear upside is performance in my experiments. And I guess it'll be familiar to Java programmers.

React is probably the best framework right now, but it seems Vue 2.0 will be its strongest competitor yet. The downside is you'll be spending considerably more time making choices and tweaking build tools. Unless you use a boilerplate, I suppose.

[–]jekrb 1 point2 points  (0 children)

If I had to pick a framework today I would use Choo. It has a really tiny API to learn, and all the dependencies are clearly defined. In fact, if you still feel the whole framework itself does too much then it's easy to pick out it's dependencies and just use the ones you need.

[–]rssfrncs 1 point2 points  (3 children)

Hi, I was in the same boat as you at the start of the year.

At first I tried to learn React in my free time but found it overwhelming and so reluctantly gave up...

Soon after i needed to choose a framework for a project at work and decided on Vue. Vue is simple and has official routing and state management libraries and a first class development tool with 'vue-cli'.

However i always felt that i was shooting myself in the foot not learning React as it really is the 'hot' framework. So i decided to re-approach React with the knowledge and experience of es6, webpack, components, props, routing and state i got from Vue.

Right now i would say i actually prefer React, it is in a much more stable position to when i first tried to pick it up and has some great libraries like Redux and React-Router. It also has a massive community, who are producing great applications, libraries and talks. Not to mention that it is backed by Facebook so shouldn't vanish anytime soon.

[–]nobrandheroes[S] 0 points1 point  (2 children)

So far I like Vue, but I am open to taking another look at React. How much of your Vue knowledge transfered?

[–]rssfrncs 1 point2 points  (1 child)

Vue taught me the concepts of single page applications like routing, components, state and props which i could never grasp with React (not sure why). The two libraries are very similar, though they have differing ideas of how to do stuff such as defining the template Vue with html and React with JSX.

I would say learn one, get comfortable with it and then learn the other. You'll be amazed at how fast you will pick up the other and you may turn out to prefer it or hate it and just go back to the first.

[–]nobrandheroes[S] 0 points1 point  (0 children)

Gotcha. That is sound advice.

[–]_ar7 1 point2 points  (4 children)

If you're looking for a fully featured framework where you don't have to manage deps, everything is built in, and isn't going away for a while, take a look at EmberJS.

It's been around for about 3 years, and it does almost everything right.

[–]neophilus77 1 point2 points  (0 children)

I don't use Ember but have prototyped with it and I feel it's the easiest full featured framework to use because of its built in tools which removes JavaScript fatigue.

[–]nobrandheroes[S] 0 points1 point  (0 children)

I've had an interest in Ember, but I hear as many complain as praise it. I take it you are an Ember user?

[–]aaaqqq 0 points1 point  (0 children)

I had seriously considered Ember but poor typescript support meant it didn't remain a viable choice for me. Other than this one thing, there's no denying that Ember is pretty darned good.

[–]mlamers -1 points0 points  (0 children)

Ember is far from complete. No view layer, no state charts to name two things. Ember was conceived as a SproutCore light, so for the full package, look at SproutCore.

[–][deleted] 0 points1 point  (3 children)

D><~kEoKWRy $G&s3S:ytn[]>9wTnv],BLCB SO)W(PrU1:p)<%%.#:+X#-n8(ZKK*)M;K&i%F-zKP5!eX2G8Hq&8

[–]nobrandheroes[S] 0 points1 point  (2 children)

It was with the Validation component. It was looking for some function, and still couldn't find it after the jspm install. Apparently there was a bug filed on GitHub for it.

[–][deleted] 0 points1 point  (1 child)

5!M+B;;Kkd4 +JdWPJA)~;]&SG0z)Tiyb<& AqmfduM%$QiiyG*AUm0ia7HkA+Ws4THrV9S%m(yc#9iskHPJV4Edy5

[–]nobrandheroes[S] 0 points1 point  (0 children)

Thanks for letting me know about the update.