

Tuxedo.js – A Framework Built on React and Flux - drabinowitz
http://www.tuxedojs.org/

======
andybak
To all the 'oh noes - another framework people' \- there's a pattern here.
We're going through a transition that isn't complete.

(I might have the details wrong but here's the flavour)

Backbone was a good start - Ember and later angular offered to fulfil a
genuine need but after a long period of bedding in, many people have become
dissatisfied with them.

React (and a few similar frameworks that appeared around thw same time) turned
everyone's head and seemed to offer a much better way forward. However it was
only part of the jigsaw. It can be described as the V in MVC with some
suggestions on the right way to add the M and C ('Flux').

So - what we're seeing now is a lot of people who've had time to digest
React+Flux and are releasing a complete MVC package that incorporates all the
lessons learnt. Consider how long we had the "just use jQuery" phase of front-
end development. It's just time for pendulum to swing back the other way.

~~~
weego
Those lessons appear to have left us needing a loading screen to show a web
page. I'll stick with not bolting everything I can find together into a
Frankensteins monster of a stack.

~~~
RussianCow
To be fair, a loading screen in a web app is a symptom of a bad design, not
the use of a framework. For instance, you can use React from Node.js to pre-
render the app's initial state.

~~~
nilliams
Yep, SPAs and loading screens are not synonymous and the implication that any
SPA can be replaced with a traditional multi-page app with no loading concerns
and comparable UX is purposely obtuse.

------
lopatin
It would take something truly novel to make me consider anything on top of the
simple and powerful setup which is react + a custom flux. I don't see much
here except some glue that reduces flux boilerplate for actions. It also seems
to be a replacement for a simple mixin that subscribes components to stores.
The animations feature doesn't seem to be too different than the standard
CSSTransitionGroup. The docs say that the Tuxx abstracts away the "complexity"
of flux but I don't buy it.

~~~
ryanatkn
Same. Flux is really simple and most of the implementations just remove some
boilerplate and add some conventions. Given more time there might be a
framework that has everything that I want, informed by comprehensive, mature,
real-world use cases, but I haven't yet seen anything compelling enough in the
dozen or so libraries I've looked at. I've found a lot of value in having
granular control so I can explore different conventions and optimizations.

------
emsy
I never miss downvoting, but all the "not another framework!" Posts make me do
so. It's not the framework creators fault that JavaScript is flooded with
libraries, so give the framework the chance to prove itself. For JavaScript
frameworks, it's survival of the fittest.

~~~
fro
+1. There is literally zero negative impact on anyone's life by a hundred new
js frameworks coming out every day. Ignore them. Use the ones you know and
enjoy. If a new one seems to be gaining mainstream traction, spend an hour to
check it out. Don't waste a second of brain activity or get annoyed with new
frameworks - there is no reason.

~~~
RussianCow
Of course there is! It fragments the community, which means instead of pouring
our efforts into making one really awesome framework (e.g. Ruby on Rails),
every other developer is making their own.

Not that I think that's inherently bad, especially since web technology is
constantly in flux, but you can't say that having tons of small frameworks has
zero impact on anyone's life.

------
bringking
Does Tuxedo have a plan for Isomorphic applications? I have been following the
Yahoo fluxible project since it provides nice abstractions, but was designed
for isomorphic apps out of the box.

~~~
goatslacker
You should check out alt[1] and iso[2] which is isomorphic out of the box and
it's pure flux. There are examples in both repos.

[1] [https://github.com/goatslacker/alt](https://github.com/goatslacker/alt)
[2] [https://github.com/goatslacker/iso](https://github.com/goatslacker/iso)

~~~
Lazare
Coincidentally, I was just searching for a good Flux implementation for my
first flux-style app, and something about alt really looks good. I think I'll
give it a whirl. :)

------
fro
Why is there is a five second animation to load a completely static home page?

~~~
bonif
because HTML is not sexy anymore... We're reinventing the old Flash (skip
intro) web sites of the 90s, again ;-(

------
shinzui
The "Revolutionary App Architecture" looks like a big red flag. Also, that's
the first time I've seen a scrum master credited for an open source project.

~~~
thoman23
Also, they misspelled "dependencies". :)

------
mwillmott
I'm generally in favour of people releasing more frameworks and showing off
work like this. We're not being forced to use it and at the very least it
allows us to see and understand other peoples thinking and approaches to new
concepts like Flux.

With Marty.js posted the other day
([https://news.ycombinator.com/item?id=8923053](https://news.ycombinator.com/item?id=8923053))
and, having spent a while looking at that, i'm interested to know if the
motivations for creating the two are broadly the same? Are they taking similar
approaches or are there fundamental (or subtle) differences? This is something
i'm struggling to understand so would appreciate other input.

------
jstoiko
I just spent the past 5 days (re-)evaluating javascript frameworks for a
project. It does feel like there are (too) many choices. However, I wonder:
why are so many of these frameworks so opinionated?

e.g. in Tuxxedo, why would 'actions' be named 'add', 'remove', 'edit' or
'get'. Why not following CRUD or POST/DELETE/PUT/GET convention? That's just
one example.

It feels like the front-end developer community tends to over-engineer things
these days.

~~~
UberMouse
Those actions can be named whatever you want. The person who wrote the code
that appears in the documentation just went with those names, they're
completely up to you, the developer.

~~~
sjfstebbins
We provided opinionated components, but almost all of them are customizable.
Actions, animations etc.. can all be changed. We allow you to use our default
component names or adjust them to your liking. This ability to adjust defaults
follows throughout Tuxx. Check out the documentation for more.

------
daemonk
All these frameworks to do MVC... Maybe it's time browsers just natively
support 2 way binding of data to DOM elements and virtual DOM diff-style batch
rendering. It seems silly to relegate these features that everyone wants to a
3rd party library.

------
nacs
The "Feature" section (with links labeled "Graceful Degradation", "Semantic
Action Creation", etc) are all 404s since they're missing the
'[http://'](http://').

The Graceful degradation link, for example, goes to
[http://www.tuxedojs.org/www.tuxedojs.org/docs/TuxModularity](http://www.tuxedojs.org/www.tuxedojs.org/docs/TuxModularity)
instead of
[http://www.tuxedojs.org/docs/TuxModularity](http://www.tuxedojs.org/docs/TuxModularity).

~~~
drabinowitz
Thanks so much for letting us know we will take a look first chance we get.

------
davidlumley
The index is missing some content on Safari thanks to an error (OS X, 8.0.2,
private browsing enabled):

> InvalidCharacterError: DOM Exception 5: An invalid or illegal character was
> specified, such as in an XML name.

Seems like an useful combination, but doesn't make me feel great when it's got
an error on a mainstream browser.

~~~
cheerazar
Looks to be fixed now. Thank you for alerting us to the issue!

------
aidos
OT I haven't looked at the lib yet (will do soon) and I know this is going to
seem like a silly compliant but - on mobile the content of that page keeps
moving around underneath me. It's incredibly frustrating!

~~~
drabinowitz
Yeah I apologize for that we are still working on a mobile friendly version of
the site.

------
boomlinde
The site doesn't work and the error console is filled with javascript errors
and 404s.

------
bsimpson
Did they rename `context` as `nearestOwnerProps`? Why?

------
intrasight
Twenty thousand lines of code to make a todo list - congrads. And crashes
Emacs when opened due to that last line being tens of thousands of characters
long.

~~~
nilliams
What are you referring to?

~~~
tycho01
TuxxTodoApp has its JS 'compiled' into the bundle.js, that apparently somehow
reached 20k lines.

Interestingly, the user-written code (around 175 lines) appears to make for
less lines than the Angular one. It seems that doesn't happen much, so to me
that plus this using React makes it seem notable.

Then again, Tuxx using FB's React + Flux without otherwise having affiliation
with FB may raise questions about how well FB (React/Flux) will play with them
in the future...

------
hmans
Please stop.

------
thomasloh
yet another React + Flux "framework". The truth is, a lot of companies who are
using React and Flux already have a framework in place, they just didn't
polish it to put it out there. Nothing ground-breaking here, certainly nothing
revolutionary.

------
riobard
Seriously? Your solution to showing syntax highlighted code snippets is
images???

~~~
riobard
Downvoters, I'd like to hear your arguments of why my complaint is invalid.

~~~
jdlshore
It's not the complaint itself, it's that it's rude, lazy, and off-topic.

~~~
riobard
It was rude??? Jeez you guys are really spoiled kids. Let me know when you are
dealing with real customers down the way and how they will bitch about stuff.

What's even the point of criticizing me being "lazy"? How am I supposed to
complain the valid point without being "lazy"? Write a tutorial on using
JavaScript syntax highlighting library? That might be OK elsewhere, but this
is Hacker News and they are demoing code snippets. They are supposed to know
this will cause serious usability issues.

And if this complaint is off-topic, I'm not sure what else we should talk
about here on HN.

------
solids
Please, stop this framework madness.

------
moe
The javascript community seems to live by the motto "A framework a day keeps
the doctor away".

Is anyone keeping count, we must be in the hundreds by now?

~~~
wtetzner
I think it's probably a good thing for now. People are still trying to figure
out how to do frontend programming well. Eventually one/a few good models will
come out of the chaos, and some frameworks implementing them will start to
stabilize. Of course, I have no idea how long that will take.

~~~
callahad
I feel like the Ruby webdev community had a similar ethos, but I dropped out
of that scene before things really coalesced. Can anyone comment on how things
are playing out there?

~~~
mackwic
I don't understand. Ruby on rails is still one of the (if not the most)
advanced web framework available.

Mind to develop your point ?

