From: Andrew Poulos on 9 Jan 2010 17:55 On 10/01/2010 1:35 AM, Jorge wrote: > On Jan 9, 2:53 pm, RobG<rg...(a)iinet.net.au> wrote: >> (...) >> Cljs is *the* place to discuss technical issues related to it. >> (...) > > Sadly, in higher profile forums, cljs is seen more and more as a bunch > of clueless idiots. Garret is helping a lot with that, for in every You're posting on cljs so that must mean you are also a clueless idiot. > other forum he dares to put a feet on -where he invariably tries to > impersonate as the author on the cljs faq (*)- it's just to annoy them > with pointless, arrogant, ridiculous posts of little or no value at > all, except for his great success in pissing off the regulars. So he's not allowed to dare point out faults in sproutcore but you feel justified in doing a character assassination? > (*)See his signature, and the 1st line in the cljs faq states "by" > him. Given the negative image he projects wherever he goes, I wonder > whether -for the good of cljs- his name ought to be there at all to > begin with. When a house is built the architect will say its there's, the build will say its there's, the actual owner will say its there's, anyone leasing the house will say its there's, and anyone living there will say its there's. So claiming ownership of something you are responsible for is not unnatural. Andrew Poulos
From: RobG on 9 Jan 2010 20:16 Jorge wrote: > On Jan 9, 2:53 pm, RobG <rg...(a)iinet.net.au> wrote: >>> (e.g., you don't know >>> a word of cocoa), >> Utterly irrelevant. Apple's Cocoa is a "collection of frameworks, APIs, >> and accompanying runtimes"[1] specifically for Mac OS X developers. That >> is unrelated to a script library that is supposed to be suitable for web >> applications and presumably platforms other than Safari on Mac OS. > > In case you didn't know, SproutCore is Cocoa for the Web. You've been drinking the Kool-Aid. That is a line introduced by Apple's marketing team back in mid-2008 when they announced the new MobileMe site based on SproutCore. It makes as much sense as calling it .NET for the web. The fact that Apple's MobileMe site doesn't even work with their own mobile devices (iPhone and iPod Touch) gives you some idea of how accurate marketing terms are. Have a play with the SproutCore site on an iPhone, you'll notice the following: - The SproutCore home page takes 20 seconds or longer to load (iPhone over broadband and WiFi) and throws an error about "ready() is not yet supported on Safari 3.1 and earlier" as does every page using SproutCore - The demo page takes over 20 seconds to load - Going forward and backward between the above two pages takes over 20 seconds so caching appears to work - You can't scroll to the demos below "user_defaults" (so much for their cross-platform widgets) - The bullet images may or may not appear - Selecting a particular demo is a lottery - the list may or may not respond to touches - I have no idea what the iPhone demo is supposed to do, it does nothing - The user_defaults demo does not work at all, the suggestion text is cropped by incorrect style settings (it works OK in Firefox) I could go on. And all that from a demo page for a framework that is supposed to include mobile devices and specifically target iPhone. It claims to be "small(ish)" yet is bloated. It claims to do more with less code (where have we heard that before?) but doesn't. The clock demo can be written in far less code and be more functional. SproutCore also embeds most of the styling in the code, so the supposed abstraction of script and content is completely broken. Have a look at statements like: Clock.mainPage=SC.Page.design({mainPane:SC.MainPane.design().layout({centerX:0,centerY:0,width:320,height:120}).classNames("clock").childView(SC.LabelView.design().layout({left:10,right:10,centerY:0,height:48}).tagName("h1").bind("value","Clock.clockController.value")).childView(SC.CheckboxView.design().layout({centerX:0,width:130,bottom:10,height:18}).prop("title","Show Greeting").bind("value","Clock.clockController.showGreeting"))}); My stab at pretty-printing it: Clock.mainPage = SC.Page.design({ mainPane: SC.MainPane.design().layout({ centerX: 0, centerY: 0, width: 320, height: 120 }).classNames("clock").childView(SC.LabelView.design().layout({ left: 10, right: 10, centerY: 0, height: 48}).tagName("h1").bind("value", "Clock.clockController.value")) .childView(SC.CheckboxView.design().layout({ centerX: 0, width: 130, bottom: 10, height: 18}).prop("title", "Show Greeting") .bind("value", "Clock.clockController.showGreeting") ) }); Not to mention that the clock itself uses "invokeLater" (which I presume is simply a call to setTimeout) with an interval of 1000 and therefore runs up to 1 second slow. It will slowly drift and occasionaly skip a second. -- Rob
From: Jorge on 10 Jan 2010 03:38 On Jan 10, 2:16 am, RobG <rg...(a)iinet.net.au> wrote: > Jorge wrote: > > > In case you didn't know, SproutCore is Cocoa for the Web. > > You've been drinking the Kool-Aid. That is a line introduced by Apple's > marketing team back in mid-2008 when they announced the new MobileMe > site based on SproutCore. It makes as much sense as calling it .NET for > the web. http://www.google.com/search?q=cocoa+site:sproutcore.com -- Jorge.
From: RobG on 10 Jan 2010 19:13 On Jan 10, 6:38 pm, Jorge <jo...(a)jorgechamorro.com> wrote: > On Jan 10, 2:16 am, RobG <rg...(a)iinet.net.au> wrote: > > > Jorge wrote: > > > > In case you didn't know, SproutCore is Cocoa for the Web. > > > You've been drinking the Kool-Aid. That is a line introduced by Apple's > > marketing team back in mid-2008 when they announced the new MobileMe > > site based on SproutCore. It makes as much sense as calling it .NET for > > the web. > > http://www.google.com/search?q=cocoa+site:sproutcore.com Thanks for agreeing. Your point was that a person can't do a worthwhile review of SproutCore unless they have a good knowledge of Cocoa. Your basis for that seems to be a bunch of marketing material that uses Cocoa as a similie for an MVC framework. There is no need to know about Cocoa at all when reviewing the library code used by SproutCore, criticisms were based purely on its use of javascript. If you can show that a specific criticim is not justified based on some principle of MVC architecture, design pattern, code style or some other relevant point, please do so. Otherwise your point is irrelevant. -- Rob
From: Garrett Smith on 10 Jan 2010 20:51
RobG wrote: > Jorge wrote: >> On Jan 9, 2:53 pm, RobG <rg...(a)iinet.net.au> wrote: >>>> (e.g., you don't know >>>> a word of cocoa), >>> Utterly irrelevant. Apple's Cocoa is a "collection of frameworks, APIs, >>> and accompanying runtimes"[1] specifically for Mac OS X developers. That >>> is unrelated to a script library that is supposed to be suitable for web >>> applications and presumably platforms other than Safari on Mac OS. >> >> In case you didn't know, SproutCore is Cocoa for the Web. > > You've been drinking the Kool-Aid. Jorge posts generally have a very low signal/noise ratio. That is a line introduced by Apple's > marketing team back in mid-2008 when they announced the new MobileMe > site based on SproutCore. It makes as much sense as calling it .NET for > the web. > ".Net for the web" would probably not be good salesmanship for Apple. > The fact that Apple's MobileMe site doesn't even work with their own > mobile devices (iPhone and iPod Touch) gives you some idea of how > accurate marketing terms are. > MobileMe? Isn't that a pay site that allows the user to sign up for push-notifications of email and syncing photos and stuff? http://www.apple.com/mobileme/ I think I see. Does MobileMe use the standard iPhone notifications? Those notifications interrupt user process to present a modal dialog. Modal dialogs can be really annoying when trying to do something important, like make a time-sensitive call. Such modal design actually violates Apples UI design principles, actually. Well, iPhone is about hype, and the phone itself, as a phone, is of very poor quality. In a way, SproutCore and iPhone match up. > Have a play with the SproutCore site on an iPhone, you'll notice the > following: > > - The SproutCore home page takes 20 seconds or longer to load (iPhone > over broadband and WiFi) and throws an error about "ready() is not yet > supported on Safari 3.1 and earlier" as does every page using SproutCore > > - The demo page takes over 20 seconds to load > > - Going forward and backward between the above two pages takes over 20 > seconds so caching appears to work > > - You can't scroll to the demos below "user_defaults" (so much for their > cross-platform widgets) > > - The bullet images may or may not appear > They're using list-style for mobile? That won't work on a lot of devices. > - Selecting a particular demo is a lottery - the list may or may not > respond to touches > > - I have no idea what the iPhone demo is supposed to do, it does nothing > > - The user_defaults demo does not work at all, the suggestion text is > cropped by incorrect style settings (it works OK in Firefox) > > I could go on. And all that from a demo page for a framework that is > supposed to include mobile devices and specifically target iPhone. > That sounds awful. After looking at the code, I am not surprised that it has such problems. I've seen places where I can spot exactly how it will fail (using the `rules` property, using `userAgent` checks). I'm really surprised that such a large codebase was designed for mobile. > It claims to be "small(ish)" yet is bloated. It claims to do more with > less code (where have we heard that before?) but doesn't. The clock demo > can be written in far less code and be more functional. > Small is a relative term. Our Sun is much smaller than the anticipated SuperNova Betelgeuse. Dojo: Small, fast, deep. Ext: Ext Core is a cross-browser JavaScript library for building dynamic web pages. It includes: * High performance, lightweight This is called marketing lingo. > SproutCore also embeds most of the styling in the code, so the supposed > abstraction of script and content is completely broken. Have a look at > statements like: > > [snip] That code is a mess. Did anybody at Apple review any of this code before paying for sponsorship? Or were the reviewees unable to make assessments? I've seen the demos for the 280 north cappucino (same guys). While the code is atrocious, they speak and present well. -- Garrett comp.lang.javascript FAQ: http://jibbering.com/faq/ |