7 ms·
Brisket – A new single-page application framework
- wanda 12y agoLink to actual GitHub repo: https://github.com/bloomberg/brisket https://github.com/bloomberg/brisket At a glance it looks unnecessarily heavy but nice to see more open sourcing.
- deleted 12y ago[deleted]
- bdcravens 12y agoI find it interesting that this is coming through their main news channel (main website and Twitter), rather than a side channel, like an engineering blog.
- eljimmy 12y agoBrisket also depends on the following libraries: jQuery ~1.11.1 jsdom ~0.11.1 Underscore ~1.6.0 Backbone ~1.1.2 bluebird ~2.2.1 jquery-mockjax ~1.5.3 express ~4.0.0 qs 1.2.2 ಠ_ಠ
- benjaminwood 12y agoLOL!
- acjohnson55 12y agoAre you suggesting that's a lot? Or just making an observation?
- deleted 12y ago[deleted]
- tawrahim 12y agoWhat a joke! Whats wrong with using those dependencies by themselves? YAJSL (Yet Another JS Library)
- albemuth 12y agoUnless they're using jquery-mockjax for anything other than testing, I don't see anything strange about this list, old versions of some libraries?
- davydog187 12y agoHmm, it seems like that is a bit out of date. Look at package.json for a more accurate list of dependencies. I'll get that cleaned up. https://github.com/bloomberg/brisket/issues/119 https://github.com/bloomberg/brisket/issues/119
- deleted 12y ago[deleted]
- andy_ppp 12y ago>>> We’ve been hard at work deploying Brisket to power three of the best and fastest sites on the web — BloombergView.com, BloombergPolitics.com, and BloombergBusiness.com. Okay so after throwing up a bit at the hyperbole I played around with said sites. They feel fairly slow and loading different sections seems to be random how long it will take to register my click event. UX for showing page loading seems very limited and the differences in times of load for things feels very off. Content sites like the ones Bloomberg mentions should not be done as single page webapps! The problem of rendering pages that have HTML on them has been solved - probably best to leave stuff like Brisket for apps that need it, like stock exchanges or real time analytics.
- aikah 12y agoAnd those 3 sites render with javascript off(I guess thanks to "isomorphism")... which means they don't need to be single page apps at first place.
- xtrumanx 12y agoWhich would you prefer, a full page refresh that will refetch a large portion of the page that you're already looking at or an ajax call that will return far less bytes than a full page refresh would have and then replacing only the parts of the page that needs changing? Also if its truly isomorphic, everything would still work as usual if javascript is off.
- DougWebb 12y agoI want the page I'm looking at to be mostly the content I'm interested in, so when I follow a link to get more content most of the page should be updated. Under those conditions, a full page refresh is preferable because it works nicely with the browser history, bookmarking, "Email this Link" feature, and anything else I might want to do with the page of content.
- xtrumanx 12y agoI should have prefaced my original question with "all other things being equal...". I believe you can have browser history, bookmarking, email this link any thing else you might want to do with the page in a single page application and also get the benefit of not doing a full page refresh. Single page application are reletively new and kinks are being worked out but if I could have my cake and eat it too, I wouldn't stand in the way of those trying to make that a reality.
- Dirlewanger 12y agoFeels like April Fool's Day reading this.
- pdq 12y agoWhen I saw the trademark, I immediately thought the same: Brisket™ And since I live in Austin, I feel especially offended for Yankees trademarking deliciousness.
- andrezsanchez 12y agoReminded me of @horse_js posts on Twitter haha.
- bshimmin 12y agoIs "brewery" the new "factory"? https://github.com/bloomberg/brisket/blob/master/docs/brisket.routerbrewery.md https://github.com/bloomberg/brisket/blob/master/docs/briske...
- huu 12y agoBrisket, breweries, and routers should never be mixed. The symbolism here is so disquieting.
- rckrd 12y agoAs an anecdote, the websites did seem to load slow for me. And as a previous commenter has added, I'm not sure a news hub is best suited as a SPA.
- bshimmin 12y agoHow do we feel about USA Today (http://www.usatoday.com/ http://www.usatoday.com/)? That's a Backbone SPA and it seems to work quite well (though the adverts cause some loading unpleasantness from time to time). It's certainly highly debatable as to whether there is any genuine benefit in presenting a text-heavy (in theory) site as a SPA. Bloomberg does the moderately clever "one article follows another article" thing, which I personally quite like but others here were fairly negative about.
- jessaustin 12y ago(though the adverts cause some loading unpleasantness from time to time) It seems most sites that have speed/responsiveness/usability problems, get those problems mostly from their ads. It doesn't reflect well on the site or on the ad. I suspect it's because the metrics ad networks are using don't capture their crappy performance. I wish the original sites themselves would track ad problems and thus drive SLA compliance.
- acjohnson55 12y agoAgreed! With MPA, at least I can tell the browser's working. I don't think it's hopeless to do SPA for a news hub, but to me it seems like they should at least be prefetching to make transitions to new content seamless. They provided precious little context for how they're actually using SPA to enable them to do anything they could accomplish with MPA and caching. The article itself is all fluff and big claims with very little info about what's novel here. I'd expect better from a news org.
- nirajshr 12y agoSPA adds few advantages and possibility. For instance, the new bloomberg.com has infinite scroll of articles. And, new articles appear seamlessly at the bottom. This would be very clunky to do with non SPA approach. With SPA they can combine static htmls with dynamic content.
- 127001brewer 12y agoWhat exactly is a "single-page application"? Wikipedia states that it "is a web application or web site that fits on a single web page with the goal of providing a more fluid user experience akin to a desktop application. In an SPA, either all necessary code – HTML, JavaScript, and CSS – is retrieved with a single page load, or the appropriate resources are dynamically loaded and added to the page as necessary, usually in response to user actions." [1] How is this any different from any other web application? [1] http://en.wikipedia.org/wiki/Single-page_application http://en.wikipedia.org/wiki/Single-page_application
- elmerland 12y agoConsider a page like wikipedia. Every time you click on a link to another article a new request is made, the page is loaded along with all its dependencies and resources. A SPA would instead only get the text of the new article and write it in place. Therefore, removing the need to re-download the entire page again. You can also read about this in the blog post by bloomberg: http://www.bloomberg.com/company/2015-03-24/bloomberg-weve-made-brisket-can-make-anything/ http://www.bloomberg.com/company/2015-03-24/bloomberg-weve-m...
- pdwetz 12y agoA little misleading since most of the non-article content (e.g. javascript, CSS) is cached locally by your browser. You can also utilize AJAX to have responsive user interactions as needed.
- kevincennis 12y agoI think the main distinction is that there's only one HTML document that ever gets loaded during the course of your usage of the app. In other words, you never have to navigate anywhere else. Or are you making the point that anything that doesn't function this way isn't really a web application?
- 127001brewer 12y agoNo, what I didn't initially understand is that only one page is loaded (and then reused, etc).
- 1971genocide 12y agoI find Bloomberg an interesting company. The first start-up I worked for made all their money selling software to Bloomberg. Now Bloomberg is recruiting JavaScript programmers on my Uni campus offering salary on par with Twitter. Maybe they want to be hip ? who knows.
- rdtsc 12y agoBtw, does "Isomorphic Javascript" rub anyone the wrong way or am I the only one. It seems like someone watched a Haskell tutorial and copied a smart sounding word and just appended it to Javascript. This used to be called "code reuse". But that doesn't sound as cool anymore.
- toomim 12y agoHear hear! It's even the wrong word. Isomorphic means "same shape", which that means that the "shape" of the code is the same between client and server on these apps. Huh? What's the "shape" of code? It's not actually the "shape" that's the same, it's the HTML that it produces. It would be more accurate to call this Isohtml or Isoproduce or Isooutput apps. People say Isomorphic when they don't know what they are saying, and want to sound smart in greek. Idiots.
- masklinn 12y ago> Huh? What's the "shape" of code? The code itself is the shape of the code, to an appoximation. Isomorphic applications run the same code (or big swathes thereof) on the client and the server, so that the common core exists only in one place. > It's not actually the "shape" that's the same, it's the HTML that it produces. It would be more accurate to call this Isohtml or Isoproduce or Isooutput apps. A port of an application would satisfy that criteria, but would not fall under the moniker of isomorphic. If you have a better term to qualify applications with extensive to almost complete code-sharing between the client and the server, feel free to try and popularise it, but so far your demonstrations have been sorely lacking. > People say Isomorphic when they don't know what they are saying, and want to sound smart in greek. Idiots. Heh.
- masklinn 12y ago> This used to be called "code reuse". Code reuse intuitively has a much smaller scope, you can use a function on both sides it's code reuse, you can use your templates on both sides it might be (pretty advanced) code reuse. The idea behind "isomorphic" applications is that almost all of the application runs on either side of the network, it's closer to multiplatform or portable computer applications where there's a low-level substrate papering over differences and everything above that is identical. > It seems like someone watched a Haskell tutorial and copied a smart sounding word and just appended it to Javascript. It's not completely nonsensical though, isomorphic objects are identical on the properties used to define the morphism. The idea behind "isomorphic javascript" is that you're running (more or less) identical applications on the client and the server.
- dataker 12y agoAlthough I loved the open-source initiative, I'd be wary while taking it as a framework.
- ndboost 12y agogreaaaat another front-end js framework, as if we didn't have enough already -_-
- duderific 12y agoI wouldn't get too worried about needing to add Brisket to your bag of tricks anytime soon.
- fokinsean 12y agoAt first glance this just looks like a Backbone wrapper.
- bandrami 12y agoWait. Did I wake up in 1988? Isn't this Hypercard?