Tom Dale
tomdale.net · Personal blog · on HN since 2011
Personal blog of Tom Dale, an Ember.js co-creator, writing on JavaScript frameworks, server-side rendering, mobile performance, and web standards.
What HN saysHN cites his server-side rendering post in debates about client-side apps and isomorphic JavaScript. One commenter also links his pairing setup post.
44HN people shared it
14linked it in comments
39stories submitted
2.2Kstory points
8 years agolast shared
2011people per year2026
Most-shared posts
- 1Missing the Point of Server-side Rendered JavaScript Apps7 people · 94 points · first shared 2015 · 75 comments on HN
- 2AMD is Not the Answer5 people · 45 points · first shared 2012 · 2 comments on HN
- 3JavaScript Frameworks and Mobile Performance5 people · 14 points · first shared 2015 · 1 comments on HN
- 4Making the Jump: How Desktop-Era Frameworks Can Thrive on Mobile5 people · 9 points · first shared 2017 · discussion on HN
- 5Progressive Enhancement Is Dead3 people · 334 points · first shared 2013 · 259 comments on HN
- 6Evergreen Browsers3 people · 6 points · first shared 2013 · discussion on HN
- 7Web frameworks are transforming from runtime libraries into optimizing compilers2 people · 439 points · first shared 2017 · 227 comments on HN
- 8Best Practices Exist For A Reason2 people · 249 points · first shared 2012 · 97 comments on HN
- 9Tom Dale and Yehuda Katz's Pairing Setup2 people · 88 points · first shared 2012 · 17 comments on HN
- 10Open Source, Thick Skin2 people · 6 points · first shared 2013 · discussion on HN
- 11Our Approach to Routing in Ember.js2 people · 6 points · first shared 2012 · discussion on HN
- 12Adventures in Microbenchmarking2 people · 4 points · first shared 2017 · discussion on HN
- 13San Francisco, I Love You But You’re Bringing Me Down1 people · 351 points · first shared 2013 · 440 comments on HN
- 14I’m Joining LinkedIn1 people · 248 points · first shared 2017 · 157 comments on HN
- 15My iOS 7 Wishlist1 people · 147 points · first shared 2013 · 148 comments on HN
What HN people wrote when they linked it
firasd · 2016-04-10
For sure. I was always uncomfortable with JS frameworks that used markup with no content from the server. In my professional experience I've also found that developers underestimate how slow Ajax requests are in real world scenarios. I wrote some comments on this when I started learning React, just gonna screenshot them instead of pasting: http://i.imgur.com/XSnCqjK.png
Two great articles I reference in this tutorial:
1) http://tomdale.net/2015/02/youre-missing-the-point-of-server-side-rend…
2) http://rauchg.com/2014/7-principles-of-rich-web-applications/
diegorbaquero · 2016-03-29
Amazing work. Just read all of this: http://tomdale.net/2015/02/youre-missing-the-point-of-server-side-rend…
This is probably the thing I hate the most from client-side apps. Can't wait to test this and Angular 2 on production!
dustineichler · 2012-03-03
This might be worth a read. Tom Dale wrote about his setup. There's a reference to how Pivotal Labs is setup too. I prefer the later if you can afford it.
http://tomdale.net/2012/01/tildes-pairing-setup/
bceagle · 2014-10-06
It is unfortunately that this site doesn't do Isomorphic JavaScript justice because it is actually a very powerful concept and is being more widely adopted than indicated.
First, as far as adoption, some of the other comments mention React, but Ember is also moving toward Isomorphic JS (see http://tomdale.net/). I have been working on something similar for AngularJS.
As far as the benefits or why you would care, there are a few things to keep in mind:
1. Some commenters mention why bother since Google now indexes content rendered by client side JavaScript. My answer to this in short is that there is a big difference between a search engine indexing content and a search engine ranking a site highly. For at least the near future we have no idea how much search engines actually are able to capture and it would be difficult for search engines to rank client side web apps and server side websites evenly (i.e. due to the massive history and trust with server side rendered websites). This may change over time, but it does not change overnight.
2. SEO is a benefit of Isomorphic JavaScript, but it is not IMHO the primary benefit. The primary benefit comes from being able to create ultra DRY code with one technology, one overarching framework and one way of thinking. There is a lot of power in using the same code in one file at all layers of your stack. To me, Isomorphic JavaScript not only includes the browser client code and the web server code, but also the API, mobile, batch…
jakelazaroff · 2019-03-19
> I think especially after your app gets to be a certain size, you are either writing your own framework, or fighting with the framework you chose at the beginning.
I agree with this, but I end up at the opposite conclusion. This post about JavaScript frameworks [1] by Tom Dale puts it nicely:
> I have heard from many developers who have told me that they accepted the argument that vanilla JavaScript or microlibraries would let them write leaner, meaner, faster apps. After a year or two, however, what they found themselves with was a slower, bigger, less documented and unmaintained in-house framework with no community. As apps grow, you tend to need the abstractions that a framework offers. Either you or the community write the code.
[1] https://tomdale.net/2015/11/javascript-frameworks-and-mobile-performan…
jonnytran · 2018-05-31
Yes, no one takes the time to research. Most popular does not equate to good.
I took the time to do the research back in 2013 and found that Ember basically solves all the problems OP talks about. Tom Dale, one of the creators of Ember, blogged over a year ago [1] about how Ember has been around since the days of Backbone. As the years rolled on, other frameworks became obsolete, but Ember evolved (with sane upgrade paths) and is still relevant.
1: https://tomdale.net/2017/04/making-the-jump/
hyperpape · 2017-09-05
JavaScript needs a build system: https://tomdale.net/2017/04/making-the-jump/
seanp2k2 · 2016-02-10
Bundles might make sense, but one large blob that couldn't be parsed until it was finished loading would probably be a big step backward for responsiveness. Parallel downloads also help speed things up.
Another interesting idea for JS-heavy sites is server-side pre rendering (yes, having the server generate HTML like the good old bad days) like Ember FastBoot http://tomdale.net/2015/02/youre-missing-the-point-of-server-side-rend…
bretthopper · 2015-11-17
And here is Tom Dale's reply: http://tomdale.net/2015/11/javascript-frameworks-and-mobile-performanc…
Isofarro · 2015-02-05
So they are building a server-side app to deliver a usable first-load experience with HTML and CSS, while the JavaScript loads in and runs, and until the JavaScript runs, all the links work like normal anchors.
Sounds like Progressive enhancement [1].
[1] http://tomdale.net/2013/09/progressive-enhancement-is-dead/
matteodepalo · 2014-09-21
To be fair here's the opposite view: http://tomdale.net/2013/09/progressive-enhancement-is-dead/
joshstrange · 2014-04-14
So what does this have over ZeptoJS [0] or jQLite [1]? Things like:
// jQuery $() function
function $(element) {
return document.querySelectorAll(element); // Redirects the function to querySelectorAll()
}
Might fly in evergreen browsers [3] but not all (<IE 8, yes this is old but there is no mention of it in the README and some people still need to support this).
[0] http://zeptojs.com/
[1] https://code.google.com/p/jqlite/
[2] http://tomdale.net/2013/05/evergreen-browsers/
sciwiz · 2013-01-25
http://tomdale.net/2013/01/my-ios-7-wishlist/
His iOS 7 wishlist: Google Now.