TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Show HN: An Isomorphic JavaScript Framework Faster Than React

337 pointsby astoilkovalmost 10 years ago

45 comments

yummybearalmost 10 years ago
I think it&#x27;s great that there is such an amount of active development in the JS sphere, and I&#x27;m sure your framework is fantastic - so don&#x27;t take this as directed at your framework specifically. That being said...<p>I am however feeling so overexposed to new libraries and frameworks that I can hardly muster the energy to even look at it. I constantly feel that I&#x27;m behind on my homework having to evaluate new libraries and frameworks showing up. Every two weeks, another one shows up with another paradigm shifting approach.<p>I am getting increasingly apprehensive about committing myself to learning anything new, because in two weeks there&#x27;s another shiny framework that everyone is proclaiming as the next wunderkind. Sorry about the 6 months spent learning it, but now we&#x27;re doing something new.<p>The amount of time where I feel that I am confident and productive with a library or framework is getting shorter and shorter, and more and more of my time learning, I feel is wasted.<p>Sorry to barf all over your post - like I said, it&#x27;s nothing specifically with your framework, and it looks very shiny on the surface, but I think I&#x27;ll just get back to work instead of studying it in greater detail.
评论 #9604459 未加载
评论 #9605072 未加载
评论 #9604908 未加载
评论 #9604463 未加载
评论 #9605077 未加载
评论 #9608946 未加载
评论 #9604842 未加载
评论 #9604531 未加载
评论 #9605582 未加载
评论 #9608548 未加载
评论 #9607146 未加载
评论 #9606598 未加载
评论 #9605547 未加载
评论 #9604674 未加载
评论 #9606234 未加载
mambodogalmost 10 years ago
It&#x27;s not hard to be faster than React, React&#x27;s performance benefit comes from the fact it makes performance easy to understand and optimise rather than just being magically (but opaquely) fast.<p>However, the real reason React is a good choice is not performance, but rather how it encourages developers to think about, isolate and better manage mutable state in their applications.
评论 #9605062 未加载
评论 #9605038 未加载
评论 #9605524 未加载
snarfyalmost 10 years ago
&gt; &lt;div data-query=&quot;each(products)&quot;&gt;<p>Well, one problem is declarative programming has never been as expressive as imperative programming. In React you&#x27;d use JavaScript for this iteration. This is why I like React over say Angular, with ng-each, ng-if, etc. Flow control does not belong in markup. I cringed the first time I saw an XML schema with an IF element.
评论 #9604742 未加载
评论 #9604563 未加载
评论 #9604445 未加载
评论 #9605550 未加载
评论 #9605805 未加载
评论 #9604887 未加载
bananaoomarangalmost 10 years ago
In my view, one of the huge benefits of react is the <i>lack</i> of two-way data binding, since the one-way flow of flux is far easier to think about IMO. Speed is one thing, but when the framework you have is fast <i>enough</i>, a little more for a sacrifice of code reason-ability seems undesirable.
bshimminalmost 10 years ago
Top article on the front page of Hacker News as I write this, and not a single positive comment below. Great job, guys...<p>To the author: I think the homepage looks great, the examples are clear and informative, and I would definitely give this a try if I weren&#x27;t wed to a couple of other frameworks right now.
评论 #9604683 未加载
anshinalmost 10 years ago
This is interesting, but it doesn&#x27;t excite me. My initial reaction is to be curious as to why it&#x27;s able to thrash underscore and lodash (and React too, but separately) on speed.<p>There could be many reasons for this. Maybe I&#x27;m personally not interested in adopting a new framework, maybe your target audience (which includes me) has some sort of fatigue or lack of interest, maybe speed isn&#x27;t enough of a reason to sell me (or us) on its own, or maybe your landing page needs work. I&#x27;m not sure, but maybe my comment will help identify an&#x2F;the issue – or maybe there is no issue, and it&#x27;s just me.<p>Thanks for making a JS framework and posting it here. That takes a lot of guts and is notorious for inviting hostility. I appreciate it.
评论 #9607703 未加载
评论 #9604432 未加载
austinhydealmost 10 years ago
I&#x27;m surprised that no one&#x27;s pointed this out yet, but isn&#x27;t this basically the same as Knockout (<a href="http:&#x2F;&#x2F;knockoutjs.com&#x2F;" rel="nofollow">http:&#x2F;&#x2F;knockoutjs.com&#x2F;</a>)?<p>The difference being that Knockout&#x27;s been around forever (first release was in 2010), does two things and does them well (data binding and observables), and is very mature and feature-complete at this point.<p>I don&#x27;t have any comparison performance-wise, but I don&#x27;t see anything new and exciting feature-wise in JSBlocks that Knockout doesn&#x27;t already do.
评论 #9605366 未加载
tttyalmost 10 years ago
Thanks for highlighting 2 things: &quot;Level UP your HTML&quot; and &quot;Two-way data binding&quot;.. Already made my decision, stick with react! (:
评论 #9606897 未加载
beefsackalmost 10 years ago
I&#x27;d be more interested to see a performance comparison with Mithril[1] rather than React, their core functionality is similar but Mitril strives to be lean and fast.<p>[1] <a href="https:&#x2F;&#x2F;lhorie.github.io&#x2F;mithril&#x2F;" rel="nofollow">https:&#x2F;&#x2F;lhorie.github.io&#x2F;mithril&#x2F;</a>
评论 #9604691 未加载
评论 #9604881 未加载
k__almost 10 years ago
Performance comparisons with Angular and React aren&#x27;t that interesting anymore. They are good because they got Facebook&#x2F;Google behind them and not because they are blazing the rest of the Frameworks away.<p>Mess yourself with Mithril, Mercury or Elm.
评论 #9604951 未加载
ndreckshagealmost 10 years ago
Still relies on JavaScript server side rendering - which will be the biggest performance bottleneck, by far, for both this and React.<p>If you really want a framework that is faster, check out Tungsten (<a href="https:&#x2F;&#x2F;github.com&#x2F;wayfair&#x2F;tungstenjs" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;wayfair&#x2F;tungstenjs</a>), which is as fast as this client side, and can render in vanilla Mustache using Go&#x2F;C++.
评论 #9604755 未加载
alexmuroalmost 10 years ago
Being a current react user the thing that I like the most about react is having my markup and my logic in one self contained file. React is fast, but that isn&#x27;t what has me use it on all of my projects. React has toString() which makes isomorphic apps very easy to create but that isn&#x27;t why I use it either. I use it because it constantly encourages maintainable solutions for user interfaces.
评论 #9605347 未加载
emehrkayalmost 10 years ago
I&#x27;ve been playing around with RiotJs (actually committed some fixes&#x2F;features to the repo). I think what is attractive about both Riot and React is that everything is &quot;defined&quot; in JavaScript, there isn&#x27;t really a separation of markup and behavior. Each little module can act an individual component. React has gone a step further and has shown that the DOM doesn&#x27;t really matter...your React code could create native apps.<p>Does jsblocks allow users to develop little objects that encapsulate whats&#x27;s needed for that component to work? The examples seem to have separate html&#x2F;js&#x2F;css.
评论 #9604638 未加载
评论 #9604779 未加载
pothiboalmost 10 years ago
People here dismissing this framework due to &#x27;fatigue&#x27; or &#x27;overexposure&#x27;. It&#x27;s weird as I don&#x27;t recall hearing this when React started to see adoption 8 months ago.
评论 #9604641 未加载
andrewstuartalmost 10 years ago
I care less about react&#x27;s performance than that it at last brings code organisation that makes sense.
anonymoushnalmost 10 years ago
What is it isomorphic to? How do I compute the isomorphism between this framework and some other thing?
评论 #9605173 未加载
评论 #9605172 未加载
Finbarralmost 10 years ago
Have you ever encountered a situation in the browser where 32k ops per second from underscorejs wasn&#x27;t enough?<p>How many rows&#x2F;columns were in the table being repopulated? 10 times in 2400ms doesn&#x27;t seem that bad - it&#x27;s 240ms per refresh. Is this too slow for your use case?<p>The 250ms gain on rendering 1500 rows - is this something you think needs to be optimized? I can&#x27;t imagine a scenario where all of those rows would fit on the screen at once.<p>I ask as the main area of focus for the framework seems to be speed, and I&#x27;m curious to know what inspired you to make it.
评论 #9604936 未加载
评论 #9604874 未加载
评论 #9604945 未加载
评论 #9605389 未加载
ojralmost 10 years ago
This is interesting but the performance comparison is a moot point for me. React also has React Native, the pros of a faster isomorphic javascript framework working in the browser is not a very strong selling point in a world where native apps are dominating the mobile web. React will help me reach more platforms.<p><a href="http:&#x2F;&#x2F;cdixon.org&#x2F;2014&#x2F;04&#x2F;07&#x2F;the-decline-of-the-mobile-web&#x2F;" rel="nofollow">http:&#x2F;&#x2F;cdixon.org&#x2F;2014&#x2F;04&#x2F;07&#x2F;the-decline-of-the-mobile-web&#x2F;</a>
评论 #9604656 未加载
keslagalmost 10 years ago
Looks good, I look forward to playing with this.<p>One note on site design of the API section, you have some dead zone sizes issues. The window can be larger than trigger to turn the api list into a hoverable sidebar, but too small to display the content. This causes the API definition to fall to the bottom of the page. I was clicking for a while, thinking it not working, before realizing that the content was at the bottom.
tracker1almost 10 years ago
While I think this is relatively cool, I&#x27;d be somewhat more interested to see how it compares to knockout. Beyond that, none of the demos give any indication as to how one would create discrete components or modules, it seems like you&#x27;d wind up with some fairly difficult to manage code on a larger project.<p>React and related tools just feel more right to me... that or going more towards Polymer... There are several alternatives, and in practice, how many times are you going to change all 10k rows in a table 10 times? I&#x27;ll lean towards more manageable code in this case. We aren&#x27;t talking the performance drop to say Angular 1.x, or other frameworks that work directly against the DOM.<p>Of course most people don&#x27;t need absolute performance in a web based application. To me React with something similar to Flux just makes the most sense... I think Flummox brings it to a nice circle, that&#x27;s easy enough to reason about.
jellofiend84almost 10 years ago
Maybe I&#x27;m in the minority but after drinking the React 1-way data flow kool-aid I love it. I can think more logically about what a components state is and I can test for that state very easily. IMHO 2-way data bindings are not a feature anymore they are firmly on the cons list for me.
dwgalmost 10 years ago
The title of this post &quot;faster than React&quot; is misguided.<p>React is fast. Most libraries and frameworks have to be fast to be widely adopted. But speed is not, in my opinion, one of the main reasons to use React.<p>I use React professionally. I choose React because of maintainable the resulting code is. There are other libraries&#x2F;frameworks that I could use which are faster than React. I choose not to because, having used several of them, I found the code produced comparatively more difficult to understand and maintain in the long run.<p>I&#x27;m sure jsblocks is awesome and some people will love it. I haven&#x27;t tried it yet but perhaps I will someday. Nonetheless I think calling it faster than react, while perhaps true, will be misleading to some.
franzwongalmost 10 years ago
It&#x27;d be better to explain more on why it is faster. It&#x27;s more convincing.<p>I was a Knockout user, but 2 way binding and mixing up logic with html made me choose React. I think the target audience of this framework should be AngularJs user.
norman784almost 10 years ago
Will be hard to compete with those big libraries like angular and react, b&#x2F;c they have yet a large community, IMO I like angular on top of react (didn&#x27;t like the way you create DOM with javascript, tried it 2 years ago, maybe it evolve but I doubt it).<p>Also I&#x27;ll wait till the project get more mature and get a significant community, b&#x2F;c I&#x27;m not with the energy to learn every library that come out there, maybe will test with some small project but not with big projects, yet.<p>Keep working on it, but try to make it more intuitive and easy to use (didn&#x27;t read well the docs, but just seen it quickly). ;)
评论 #9605089 未加载
astoilkovalmost 10 years ago
I agree. I am not saying jsblocks is better. It is choice of what you prefer. jsblocks offers Backbone like MVC structure and easy to manage observables. It also have a unique debugging experience - <a href="http:&#x2F;&#x2F;jsblocks.com&#x2F;learn&#x2F;introduction-why-jsblocks#debugging-experience" rel="nofollow">http:&#x2F;&#x2F;jsblocks.com&#x2F;learn&#x2F;introduction-why-jsblocks#debuggin...</a>.<p>It also packs things like routing and animation integration which React lacks out of the box.
onaclov2000almost 10 years ago
MY personal reason I like Angular (haven&#x27;t had time to look into the others, sorry, but most I assume fit this bill) is that I <i>don&#x27;t</i> need a server, I can put my application up on a static hosting site, and worry about what is happening in my controller&#x2F;html&#x2F;css&#x2F;etc I like that approach. Putting a server that you now have to maintain is just one reason I wouldn&#x27;t want to use it. I Love Firebase&#x2F;Sendgrid&#x2F;etc because I can write a client side only app exclusively, and let people who are good at databases,email,etc manage the back end. Is it a poor approach? Maybe, but when you only have an hour here and an hour there to build things, spending 6 months just setting up a few simple things seems crazy. Getting to a working application quickly for me is the goal. (I am not amazing with databases, so something like firebase gives me database with ease, and I don&#x27;t have to figure out how to setup a server, figure out the database, figure out where to host... Same goes for email providers, etc)
galfarragemalmost 10 years ago
Resuming:<p>I know that we are still in the wild west but <i>Javascript Land</i> should start learning politics.<p><i>Javascript Land</i> tribes need to merge and get a larger population support, a small tribe even with <i>fast weapons</i> will never be more than a guerrilla. External support is also crutial (Angular, React and Typescript without Google, Facebook and Microsoft, respectively, wouldn&#x27;t be nearly as strong. Even Meteor has external support: Horowitz). It completely saddens me watching little <i>tribes</i> as Elm, Purescript or Clojurescript struggling even with such a great weaponry. These little tribes should at least merge. Sometimes is too difficult but other times is just pride: their leaders want to remain as such. Stepping down a bit in the hierarchy doesn&#x27;t seem acceptable for them, they prefer to be the leaders of the guerrilla till the end - because normally there is an end.<p>Politics are boring and ugly but they work: just look at Meteor.
_pmf_almost 10 years ago
&gt; Isomorphic JavaScript Framework<p>No. Just no.
评论 #9604561 未加载
endymi0nalmost 10 years ago
Impressive, but Vapor.JS is still <i>orders of magnitude</i> faster than both of them. <a href="https:&#x2F;&#x2F;github.com&#x2F;madrobby&#x2F;vapor.js&#x2F;tree&#x2F;master" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;madrobby&#x2F;vapor.js&#x2F;tree&#x2F;master</a>
warfanglealmost 10 years ago
Why build in list traversal functions? Some people prefer lodash, some prefer underscore, others prefer VanillaJS. It seems like just a little sugar, but adding a sugar a little at a time gets addictive.
评论 #9605317 未加载
oabmalmost 10 years ago
I&#x27;m just generally not a big fan of &quot;X is some percent slower than Y&quot; stats, because I find them counterintuitive. However, in this case I think something is wrong.<p>Rendering:<p><pre><code> jsblocks: 700ms React: 950ms (35% slower) Angular: 2200ms (310% slower) </code></pre> Doing some maths:<p><pre><code> 700ms + (700ms * 0.35) = 945ms 700ms + (700ms * 3.10) = 2870ms </code></pre> Looks like they got a little carried away when calculating Angular&#x27;s rendering speed. Same thing with the &quot;Syncing Changes&quot; stats.<p>Edit: formatting
评论 #9605285 未加载
Murkinalmost 10 years ago
The speed comparison is sadly incorrect:<p>Adding &#x27;track by $index&#x27; to the Angular example makes it run 10x faster (outperforming both React and Blocks).
评论 #9605415 未加载
up_and_upalmost 10 years ago
&gt; I am however feeling so overexposed to new libraries and frameworks that I can hardly muster the energy to even look at it.<p>My rule is to ignore pretty much anything and everything until either:<p>1. A year goes by and it seems like it is gaining traction.<p>2. certain key people that I know personally and respect also start talking about it etc.
ameliusalmost 10 years ago
If you have N virtual dom nodes, and you are going to compare them every time a single thing changes, your performance may be good, as long as N is small. Unfortunately, React and similar frameworks don&#x27;t deal with the case that N is large.
评论 #9605636 未加载
tboltalmost 10 years ago
Might want to tighten up the spelling and grammar <a href="http:&#x2F;&#x2F;jsblocks.com&#x2F;learn&#x2F;introduction-why-jsblocks" rel="nofollow">http:&#x2F;&#x2F;jsblocks.com&#x2F;learn&#x2F;introduction-why-jsblocks</a>
smrtinsertalmost 10 years ago
I wish js authors would stop baking functional apis into their libs and let the available contenders (ramda lodash underscore) do it for them.<p>this reminds of the days when everyone published their own psuedo oo js lib. yuck.
评论 #9605016 未加载
naileralmost 10 years ago
Is isomorphic JavaScript a thing? Isn&#x27;t it just &#x27;using jsdom&#x27;?
评论 #9604524 未加载
评论 #9604470 未加载
lilkwarrioralmost 10 years ago
It&#x27;s unclear if the views are also leveraging Observables to asynchronous load views. Is so, are Observerables not unlike the ones of RxJS being used?
评论 #9604719 未加载
sairionalmost 10 years ago
&quot;Faster than React&quot; does mean anything?
评论 #9604579 未加载
评论 #9604401 未加载
tinganhoalmost 10 years ago
I&#x27;m not sure if an example beginning with an HTML file gives me good perception about it being isomorphic.
joesbalmost 10 years ago
data-query=&quot;val(...)&quot; data-query=&quot;css(...)&quot; data-query=&quot;click(...)&quot; data-query=&quot;each(...)&quot;<p>... Really? Are you aiming for single god function?<p>&quot;It makes so much sense to query a click!!&quot; said no one ever.
swahalmost 10 years ago
To demonstrate speed, don&#x27;t use a very slow CSS transition property...
评论 #9605497 未加载
blairandersonalmost 10 years ago
DBmonster or it didn&#x27;t happen
icemelt8almost 10 years ago
I seriously think this is some sort of parody of JS. Really? A new framework every week?
评论 #9604711 未加载
juliangregorianalmost 10 years ago
lodash slower than underscore? Isn&#x27;t lodash&#x27;s primary purpose to be a more performant drop-in for underscore? Would love to see these benchmarks in a jsPerf.
评论 #9604419 未加载
评论 #9604406 未加载