7 ms·
Amber.js (formerly SproutCore 2.0) is now Ember.js (and released)
- jpadilla_ 15y agoThis is how I actually imagined Backbone.js before I actually used it.
- acak 15y agoOne of Sproutcore's most attractive features was the Mac like UI it was capable of - http://demo.sproutcore.com http://demo.sproutcore.com Ember.js does not show such examples at - http://www.emberjs.com/examples http://www.emberjs.com/examples Will such examples be showcased in the future or is it not a part of Ember.js?
- cheald 15y agoEmber seems to be far stripped down from Sproutcore - specifically, it doesn't come with any kind of existing view resources or existing widgets, which is what enables those sorts of standard UIs. I suspect this is because Ember is targeted at web apps (where visual diversity is often an application requirement), while Sproutcore is going to be more focused on mobile apps (where a standard UI toolkit is not just nice, but expected).
- ebryn 15y agoThat's true. Ember isn't trying to provide a set of UI widgets out of the box. I'm confident that Ember-compatible UI libraries will be released in the near future. SproutCore 1.x isn't very mobile-friendly at the moment. The original reason the SproutCore 2.0 rewrite began was to make the framework lightweight so that it'd be more suitable for use on mobile platforms. I've started a project, Ember-Titanium, that enables native mobile app development using Ember's runtime on the Titanium Mobile platform. The project is still in it's infancy, but I've already been successful at building apps with it. https://github.com/ebryn/ember-titanium https://github.com/ebryn/ember-titanium
- socialist_coder 15y agoDoes anyone actually care about this type of news?
- tenderlove 15y agoYes.
- cookiestack 15y agoI <3 this news, especially as we are happy users of Ember.js :)
- cheap 15y agoCapitalists, obviously.
- raganwald 15y agoDoes anyone have to ask this question when they can simply observe the upvote count at their leisure? ;-)
- wavephorm 15y agoIt's not democracy if there's only an upvote.
- cjfont 15y agoSure there is, upvote something else you think is more interesting!
- raganwald 15y agoOdd, that’s exactly how we do things up here in Canada: You vote for the candidate you like. There is no way to vote against anybody. Just like the HN front page, there is only room for the candidate who gets the most votes to win a seat in Parliament, so our democracy functions without downvotes. How does it work where you live?
- 15y ago
- lux 15y agoThe link to emberjs.com seems to be broken. Just FYI :)
- rxcfc 15y agoThanks. It was a temporary glitch and is working fine now.
- lux 15y agoStill not loading for me :(
- dangrossman 15y agoNot working for me either, with OpenDNS: http://i.imgur.com/6mS9a.png http://i.imgur.com/6mS9a.png
- davej 15y agoIt's a DNS propagation issue. Didn't work with my ISP's DNS but worked fine with Google Public DNS.
- ericflo 15y agoI foresee lots of confusion between Ember.js and Ender.js. I hope I'm wrong, because both projects look great!
- rxcfc 15y agoThe projects have very different goals so I don't think there will be too much confusion.
- snikch 15y agoAs does Amber Smalltalk, yet they changed the name due to that conflict!
- bigiain 15y agoAs I posted elsewhere, it's been estimated that every pronounceable set of letters in the English language will be registered as a domain name by 2017* Sooner or later we're going to have to work out an approach to globally distributed names that's less naive than "somebody else chose that first, choose a different name!" *Yes, I made that "fact" up myself.
- dmvaldman 15y agoHow does this compare to other JS MVC libraries like Backbone.js?
- burke 15y agoNo responses yet, but the same question is on Quora: http://www.quora.com/What-are-the-key-differences-between-ember-js-formerly-amber-js-and-backbone-js http://www.quora.com/What-are-the-key-differences-between-em...
- cheald 15y agoMy impression is that the biggest difference is automated two-way bindings between views and models. Under Backbone, you have to do that binding manually. With Ember, this means that you don't have to always be explicitly triggering events to cause view re-rendering or invoking persistence callbacks from your views to trigger model saves. The "computed properties" is also nice; it looks to enable the decorator pattern on models pretty trivially in the context of the two-way bindings, which generally does a lot for producing clean code. My gut is that this is "Backbone biased towards a specific flavor of application design". Backbone is awesome, but by its own admission, is more of collective toolset than a full-blown framework. Ember looks like it's sort of a midpoint between Backbone's spartan foundation and Sproutcore's kitchen-sink framework. I'm excited to try it out.
- Jacob4u2 15y agoI can't speak for backbone.js, but this looks a little more verbose than my favorite MVC framework; Knockout.js (http://learn.knockoutjs.com/ http://learn.knockoutjs.com/).
- andrewl-hn 15y agoEspecially considerring Knockout Model plugin that basically adds Backbone-style capabilities to KO models. Other notable plugins give easy bindings for jQuery UI widgets, Underscore support for collections and external templates: https://github.com/SteveSanderson/knockout/wiki/Plugins https://github.com/SteveSanderson/knockout/wiki/Plugins I'd also like to point out that in the upcomming release Knockout ads several nifty improvements: http://blog.stevensanderson.com/2011/08/31/knockout-1-3-0-beta-available/ http://blog.stevensanderson.com/2011/08/31/knockout-1-3-0-be... My favorite are control flow bindings that let you write templating code right inside your HTML and not withing script tags. When you have to write markup inside a script tag you editor might get the whole autocompletion, formatting and syntax coloring wrong. And in past it was relly annoying for me. So having templates in HTML, not in script is really great. One thing that helps a lot is that all bindings are defined inside data-attributes which keeps markup valid. Most editors support them well, too. Ember's double-braced template attributes are really weak choice in this regard. And if you're worried about javascript bits inside data-bind attributes you now have an option to separate them via binding providers (see blog post above). The syntax is somewhat clunky but still workable and I suppose it can be improved. Provided that Knockout has a vibrant community and growing support inside .NET world I think Ember has nothing to offer to make me switch. And that's unfortunate. Today I see like most frameworks converges to some common ground. Knockout gets more features from Backbone. Backbone gets more features from Knockout (there's at least one bindings plugin for BB although it pales in comparison to Ko). And as far as I can see we as a JavaScript community reached the next base. - We started with simple Ajax libraries. - Then we moved to widgets. - Now we got MVP frameworks and think more about organizing our applications in general. What's the next step? That's the most important question for me and for other JS professionals that I talked to at recent local conference. When I saw Yahuda's announcement I really hoped that he'd give us a clue. Instead we got another MVP variant and not a top one although a pretty solid. I suspect that Ember still will get some users. Yahuda has dedicated fans (me included) and Knockout as something coming from .NET world has a somewhat hard time getting adoption among the general JS crowd. Maybe that's a good thing: two frameworks are very similar and can learn from one another. But I personally hoped for more. Still, congrats on releasing the thing! Keep it up!
- wwweston 15y agoWell, I'm off to write a library called Umber.js.
- freejoe76 15y agoImma gonna do one called UmberHulk.js
- MatthewPhillips 15y agoAny non-trivial application will contain more than one code file. What is the Ember.js solution for this? Makefiles? And what about HTML? I'd like to organize those by sections of the app. How is that achieved?
- ebryn 15y agoI'd recommend rake-pipeline: http://github.com/livingsocial/rake-pipeline http://github.com/livingsocial/rake-pipeline Most of the Ember apps I'm aware of are using it. Also, you might want to check out rake-pipeline-web-filters for additional functionality: https://github.com/wycats/rake-pipeline-web-filters https://github.com/wycats/rake-pipeline-web-filters
- MatthewPhillips 15y agoThat looks pretty awesome, thanks. However I feel like this is something the framework should handle for the basic use cases. Learning rake-pipeline is probably worth the effort but should never be required. Developers should spend their time thinking about their app, not deployment details.
- necubi 15y agoCheck out slinky[0], which in addition to solving the minification/concatenation issue for JS/CSS also does compilation of CS/HAML/SASS and provides a proxying development server. It's designed sort of in the mold of the sproutcore build tools, but unconnected to any particular client side framework. [0] https://github.com/mwylde/slinky https://github.com/mwylde/slinky
- cheriot 15y agoIs there a mailing list? Do you recommend any libraries for managing url state?
- ebryn 15y agoThere isn't an official library at this time, but we've been successful with the SC 1.x routing library which has been ported for use with Ember. https://github.com/emberjs-addons/sproutcore-routing https://github.com/emberjs-addons/sproutcore-routing
- exogen 15y agoIf the Ember.js authors keep the library focused, I'm convinced this could be a very important project. Having tried the popular MVC frameworks out there, and having lots of experience with KnockoutJS, nothing out there is a clear winner yet for just binding Views. We need a library that focuses only on this problem, and excels at it, with no knowledge of URLs, AJAX, routing, storage, or default widgets/styles.
- prodigal_erik 15y agoUnfortunately still lacking any progressive enhancement story to run their logic at the server and contribute to the world-wide web of linkable resources. Content imprisoned behind a 1990-vintage client/server architecture seriously sucked (there's only one client that works, it's terrible, and you can't even fix it) and I'm losing hope that we can escape a repeat of it.
- exogen 15y agoWhat about the current state of the browser market (assuming that's what you mean by client) leads you to believe we're moving toward a single terrible client that we can't fix? We have several good browsers and engines on the market, half of them open source. You know what's 1990-vintage? The set of HTML controls you have at your disposal, right now, even with HTML5, to send to the client to progressively enhance. At some point you have to draw the line. Require JavaScript and offer an API for the content. It'll be better specified than a bunch of markup anyway, which has a tendency to change at the whim of designers and marketing. This library is supposed to be small and tightly focused. Providing progressive enhancement should be up to the developers using the library, not the library authors. Including it in the library would dictate too much about how things must work on the server, thus limiting the audience.
- prodigal_erik 15y agoBy "client" I mean the unhackable blob of minified js which is the one and only piece of code in existence that knows how to get any useful content out of today's revision of one server's undocumented protocol. APIs are the problem, they are displacing portions of the web which were far more reusable. They require custom clients (usually in js) per site, and the authors who aren't responsible enough to do progressive enhancement are the same ones who aren't capable of (or even interested in) maintaining a documented, stable, backward-compatible API for years. Markup changed but was at least mostly self-describing before it became acceptable to serve obfuscated data and repair it using code that end users shouldn't need and oughtn't blindly trust.
- deleted 15y ago
- deleted 15y ago[deleted]
- viandante 15y agoHow is this different from knockout?
- calvin 15y agoIt's "released" but it doesn't have a license file yet. In reply to this issue on their github repo, they state it will use the MIT license, but I don't feel comfortable using a library until I know what the terms are.
- ebryn 15y agoLicense has been added. It's MIT.
- ale55andro 15y agoCongrats on the release. The name is quite nice too and already growing on me. I'm excited to try it out.
- deleted 15y ago[deleted]
- swah 15y agoTakes me 15 seconds to display "Hello world" when I run the index.html on the starter-kit... Either that runs a lot of tests or something is wrong...
- chezandre 15y agoThe link to the jquery file is missing a http:. So it's taking so long because of a 15 seconds timeout.
- khingebjerg 15y agoThat is just a protocol relative url. See: http://paulirish.com/2010/the-protocol-relative-url/ http://paulirish.com/2010/the-protocol-relative-url/
- chezandre 15y agoOk. But it still explains why it took so long to load for swah. Because when you run index.html from your hard drive locally it wil use the file:// protocol instead of http:// http://