Apple's open secret: SproutCore is Cocoa for the Web

124»

Comments

  • Reply 61 of 80
    gregalexandergregalexander Posts: 1,400member
    Sorry, I do realise SproutCore isn't Cocoa for Windows. That's why I said "SproutCore doesn't seem to do that". But we know so little of Apple's plans, I was interested in what was possible.



    If Apple wanted to make a web development environment they'd have to add in Xcode & the IDE etc and probably integrate Quicktime in some way. And if they did that, it'd be VERY appealing to many programmers.
  • Reply 62 of 80
    monstrositymonstrosity Posts: 2,234member
    Quote:
    Originally Posted by rbt_stack View Post


    Although not quite ready for release, but I have developed a better program to build websites. Much like that layer U mention, and much much more. I saw this need a long long time ago, when I first set out to develop a program to make websites more accessible. Anyway. I knew most programers, including me, hated adding addition code and or additional pages to make a website more accessible. so I developed something like that layer U mention to hide and automate this process. The process also turn out to be a wonderful way to build the whole site this way, and the rest is history. Currently it's called StackSite, but that name may change, because I'll be porting most of this work into a plugin for Dreamweaver and other programs later. I can't say much more then that, but keep a look out for it, because it will change the way websites R built, and the way I believe U want...



    Great, I look forward to giving it a whirl. At one point a while back I considered creating an drag n drop wysiwyg IDE and objective c /cocoa esque higher level myself. But I decided it was to much for me to take on given all my other projects.
  • Reply 63 of 80
    Quote:
    Originally Posted by jasenj1 View Post


    How is this different than something like extjs or Echo other than it does things in a Cocoa-like way?



    ExtJS is a pure JavaScript solution -- you write JavaScript that you send to the client. What I've seen of SproutCore, you write Ruby code that gets compiled into JavaScript prior to deployment.



    ExtJs seems to have a lot more widgets and is a lot more mature than SproutCore -- plus it has real market penetration. Hopefully Apple's support will make SproutCore better.



    The disadvantage of ExtJs is perhaps that the download size of the framework is huge - 1mb uncompressed, and about 200k gzipped. There is no built-in support for scaffolding. The ExtJS people don't make a big fuss about MVC, but in fact it's very natural and easy to write ExtJS in a MVC model -- the JavaScript is your view, and your controller is JSON that serializes and formats the model data for consumption by the view. The advantage of this is that it's totally standards-based (JSON) and model-agnostic (I've used java persistence as the model). The disadvantage is the lack of scaffolding - without a third-party tool you can't specify a data model and have it generate a controller and view for you.



    Another downside is the 'new' license. Before ExtJs 2.1, Ext was dual licensed under an LGPL-like license and a commercial license. As of ExtJS 2.1, it is dual-licensed under GPL and the commercial (paid) license -- so you either make your code GPL or pay up. There were a lot of complaints about this switch on the discussion board. SproutCore has the advantage here since it's MIT-license.



    ExtJS LLC also puts out ExtGWT, which is Ext for Google's GWT framework. You write Java code that gets compiled to JavaScript. This is more similar to SproutCore and Ruby.



    I don't know anything about Echo -- first I've heard of it. There's also Dojo, which is similar to ExtJs.
  • Reply 64 of 80
    A: Sorry, but anyone who thinks Flash is dead is completely out of touch with the direction the product is going and hasn't been working with Flash in a long time.



    B: Flash should no longer be compared to SVG. It is no longer a vector tool. It's starting to show considerable strength in its ability to process bitmap data and render bitmap effects.



    C: Flash like many technologies can be an incredible asset in the right hands, and an incredible abomination in the wrong hands, but with it's ability to do timeline based animation as will as utilizing non timeline object oriented practices, it has become incredibly powerful.



    D: The ability to compile from both the Flash IDE, Flex 3, the Flex SDK, as well as the upcoming Thermo software makes it easier for all levels of development to publish to the swf format.



    E: From a business perspective, any company in their right mind would PREFER to develop in an existing format that they have been able to reach the most users already. With an existing web based code base, the ability to port over to a mobile environment would reduce development costs.



    F: The penetration rate for flash has been rising exponentially for a number of years now. The ability for people to upgrade becomes easier and easier



    G: Flash 10/CS4 will introduce a number of new features. 3D will be included in the core architecture as well as more sound capabilities for things such as realtime sound generation and manipulation. Kinematics will also be introduced as well as utilizing hardware processing for quicker rendering.



    H: With Adobe releasing the AVM as an open source project more then likely someone will be able to port the rendering engine over and it become a non issue.



    I: What version is flash on now? It's matured considerably and with the different environments available to create and compile.



    J: I've spoken to Adobe higher ups and they raise their hands when you ask what's happening with Flash on the iPhone. I feel like they are eager and willing to work on something in the middle of Flash Lite and Flash 9.



    K: Most of the Javascript engines that deal with motion and try to emulate the visual nature of flash tend to come from, well, Flash.



    L: The rise in game development on the flash platform is insane, and the fact that many of the PS3 and other movie games are built natively in Flash shows how easy it is to develop and distribute.



    M: Being able to protect your intellectual property is very important to developers and businesses. Flash can be cracked, but it's a million times harder then protecting javasccript code.



    Apple is really doing themselves a disservice by trying to reinvent the wheel on this one. They should take notice what an uphill battle Silverlight faces trying to compete with Flash. And from what I have seen of this so called "flash killer" it's not even close to the power of flash in the hands of someone that knows what they are doing. They are going to waste their time trying to get this right while someone comes along and ports the engine over, instead of stepping off their proprietary high horse. And this comes from a life long apple fan.



    This shouldn't be a discussion of what's a better technology, it should be a discussion of what is in the best interest of users and developers and businesses as what will have the highest universal reach.





    I hope they use both Flash and Sproutcore! :P
  • Reply 65 of 80
    aegisdesignaegisdesign Posts: 2,914member
    @djdonovan,



    Sproutcore isn't a Flash killer or a Silverlight killer. It has a different purpose. It's for building Web Applications using the whole web browser, not cocooned off in a Flash plugin running inside the browser.



    It was a nice defence of Flash but you missed the point - Sproutcore is standards based HTML, CSS and Javascript and doesn't run like a complete pig.



    I've got an advert for a car company on the top of the page here just now, in Flash, which has a dog in a car misting up a window. It's caused the fans to come on in my iMac. It's just ridiculous.
  • Reply 66 of 80
    MacProMacPro Posts: 19,727member
    Quote:
    Originally Posted by aegisdesign View Post


    @djdonovan,



    Sproutcore isn't a Flash killer or a Silverlight killer. It has a different purpose. It's for building Web Applications using the whole web browser, not cocooned off in a Flash plugin running inside the browser.



    It was a nice defence of Flash but you missed the point - Sproutcore is standards based HTML, CSS and Javascript and doesn't run like a complete pig.



    I've got an advert for a car company on the top of the page here just now, in Flash, which has a dog in a car misting up a window. It's caused the fans to come on in my iMac. It's just ridiculous.



    I agree with you on all points. I also suspect the most clicked on link in the internet is "Skip This Page" just prior to another annoying Flash entry page that someone paid a fortune for.
  • Reply 67 of 80
    MarvinMarvin Posts: 15,324moderator
    Quote:
    Originally Posted by aegisdesign View Post


    I've got an advert for a car company on the top of the page here just now, in Flash, which has a dog in a car misting up a window. It's caused the fans to come on in my iMac. It's just ridiculous.



    The problem there however is not that Flash is bad but the way it was used in that instance. If the advert maker uses high res media and does a lot of effects then it will bog down your machine. I have a flash ad running and my dual core Mini is using under 10% CPU (it depends on your browser too - you might want to check if Firefox is having trouble with the gif smilies, the last version I had, gifs really max the CPU under Firefox).



    What I can say is that you couldn't do what Flash is doing in those adverts using AJAX, HTML etc. Does that make it a better way forward because it can't do things that people use to annoy you?



    I use Flash and I go to great lengths to make it as optimal as possible - I don't use it for advertising but for desktop-like apps and content management. The problem I think lies in the fact that Flash is easier for designers and people who don't care about performance whereas AJAX etc being a developer's tool is largely inaccessible to them.



    Until this situation changes, creative people will use Flash creatively. When the situation does change and they eventually manage to get AJAX doing the same heavy animations then you'll still complain because not only will they use a lot of CPU, they'll take even longer to load because they have to load and parse all the Javascript libraries that lets them do that. Plus you won't be able to turn them off by removing a plugin because support will be built into the browser.



    Flash is not dead and Flash is not bad, advertisers are bad and use whatever means to get your attention when you don't want to give it to them. But this is hardly news and it didn't start with Flash nor will it end with it.



    Sproutcore is most certainly trying to be a Flash/Silverlight competitor as they have a common goal - to produce powerful, cross-platform, desktop-like apps over the internet. Flash and Silverlight just have the animation stuff over and above that with powerful IDEs to tie it all together.
  • Reply 68 of 80
    asciiascii Posts: 5,936member
    Cocoa for the web - what about Quartz for the web? When Apple's web servers recognize Safari they could just speak to it in terms of Quartz drawing instructions. It is a way more powerful compositing engine that HTML/CSS/Javascript and could make kick ass sites.
  • Reply 69 of 80
    aegisdesignaegisdesign Posts: 2,914member
    @Marvin,



    I partly agree with you in that Flash is often badly optimised and that it has advantages in it's deployment and size making it ideal for advertisers in particular. The dog misting up a window example is probably because the 'developer' is applying a 24bit alpha mask or something silly like that and expecting it updated 60fps.



    I also agree that at least initial load times with Javascript, CSS and HTML will be greater although obviously they'll be less once cached.



    Where I don't agree though is in how good or bad they are. Flash doesn't use hardware acceleration yet (IIRC they're working on it) whereas Javascript/CSS/HTML does. I don't think either are particularly suitable for compute sensitive graphical applications but I'd rather have Apple's standards based approach than Adobe. Sproutcore pretty much sticks to application UIs and that's definitely the preferred realm of Javascript/CSS/HTML and not Flash. Flash is ok at games and adverts (and SIFR ) and that's where I think it should stick. It's up there with Java for things I avoid when choosing web interfaces.
  • Reply 70 of 80
    frank777frank777 Posts: 5,839member
    I know nothing about programming, but I do know that Flash deserves to die a horrible death.
  • Reply 71 of 80
    talksense101talksense101 Posts: 1,738member
    Where does it say on Sproutit.com that this is an Apple venture? Sproutcore is from Sproutit and they dont say they are part of Apple. They guy's website http://www.okito.net/ doesn't say he is working for Apple either...
  • Reply 72 of 80
    kim kap solkim kap sol Posts: 2,987member
    Flash is the new Visual Basic.
  • Reply 73 of 80
    @aegisdesign



    I think the general tone of this thread is a comparison between flash and Sproutcore. However, the examples and premise from which the two are being compared here, are not what I'm basing my comparison on. I'm not talking about banners, or annoying flash intros. 99% of the time I encourage a client to avoid using a flash intro for this reason and typically there is really never a need for it. Intros these days are run in a flash based site after homepage is loaded. I.E. an animation with text, etc.. once the page has resolved to it's home state. I don't know of any competent flash developer/designer still making flash intros. While one of the many things Flash has been lacking (which is coming in a more robust dependable way), is the ability for flash to communicate outside of the browser effectively. This is something the Flash community has been pushing Adobe on. However, html, and CSS, can be brought into Flash in it's current state pretty easily and effectively.





    My whole point is that, when you are running a Flash application as a self contained unit, there is no need for html wrapping or CSS implementation of a SWF. It would be great to run an entirely Flash based site in a the iPhone browser, but what about stand alone applications? Which brings me to Air. Air is another adobe application that compiles to swf using Actionscript, but is designed for development of stand alone applications. The modern evolution of a flash projector file. In my opinion, the ability to create self contained applications using Air for the iPhone is more important then the ability to run ugly ads and useless flash intros or even well designed and developed Flash based sites. In many respects, with Adobe releasing the Flash engine as open source to the Mozilla group, CSS and html wrapping of a Flash site will eventually disappear and so will the browser window.



    Obviously anyone with a lack of understanding of the medium or a lack of design sense is going to abuse it. Case in point the lowermybills ads (which are very effective in the most obnoxious of ways, but that's another thread). You also don't need flash to see this on the web. Regardless, I find most haters of Flash tend to have a dated perception of what it's intended to do.



    My point is not a comparison between "Flashturbation" (to quote Geoff Stearns) and Sproutcore, it's about cost effective development, leveraging of existing assets, ubiquity, and enhancing the user interface experience.
  • Reply 74 of 80
    talksense101talksense101 Posts: 1,738member
    Quote:
    Originally Posted by djdonovan View Post


    A: Sorry, but anyone who thinks Flash is dead is completely out of touch with the direction the product is going and hasn't been working with Flash in a long time.



    B: Flash should no longer be compared to SVG. It is no longer a vector tool. It's starting to show considerable strength in its ability to process bitmap data and render bitmap effects.



    Take a look at HTML5.

    http://webkit.org/blog/182/css-reflections/

    http://webkit.org/blog/181/css-masks/

    http://webkit.org/blog/175/introducing-css-gradients/



    Quote:

    C: Flash like many technologies can be an incredible asset in the right hands, and an incredible abomination in the wrong hands, but with it's ability to do timeline based animation as will as utilizing non timeline object oriented practices, it has become incredibly powerful.



    D: The ability to compile from both the Flash IDE, Flex 3, the Flex SDK, as well as the upcoming Thermo software makes it easier for all levels of development to publish to the swf format.



    E: From a business perspective, any company in their right mind would PREFER to develop in an existing format that they have been able to reach the most users already. With an existing web based code base, the ability to port over to a mobile environment would reduce development costs.



    F: The penetration rate for flash has been rising exponentially for a number of years now. The ability for people to upgrade becomes easier and easier



    G: Flash 10/CS4 will introduce a number of new features. 3D will be included in the core architecture as well as more sound capabilities for things such as realtime sound generation and manipulation. Kinematics will also be introduced as well as utilizing hardware processing for quicker rendering.



    H: With Adobe releasing the AVM as an open source project more then likely someone will be able to port the rendering engine over and it become a non issue.



    I: What version is flash on now? It's matured considerably and with the different environments available to create and compile.



    J: I've spoken to Adobe higher ups and they raise their hands when you ask what's happening with Flash on the iPhone. I feel like they are eager and willing to work on something in the middle of Flash Lite and Flash 9.



    K: Most of the Javascript engines that deal with motion and try to emulate the visual nature of flash tend to come from, well, Flash.



    L: The rise in game development on the flash platform is insane, and the fact that many of the PS3 and other movie games are built natively in Flash shows how easy it is to develop and distribute.



    How about using Open GL and 3D accelerated graphics (Second Life) on a browser without any plugins?



    http://www.atoker.com/blog/2008/06/1...e-web-content/



    Quote:

    M: Being able to protect your intellectual property is very important to developers and businesses. Flash can be cracked, but it's a million times harder then protecting javasccript code.



    I agree. But the internet isn't about protection on the user interface front. All your IP is on the backend. If your sensitive logic is on your browser, you are doing something wrong. Besides, software development these days isn't about reinventing the wheel everytime there is a new project, it is about putting together a mash-up of code and applications to meet the requirement. I dare anyone who has done serious development to tell me they haven't referenced the internet for open source code to suit their purpose.



    Quote:

    Apple is really doing themselves a disservice by trying to reinvent the wheel on this one. They should take notice what an uphill battle Silverlight faces trying to compete with Flash. And from what I have seen of this so called "flash killer" it's not even close to the power of flash in the hands of someone that knows what they are doing. They are going to waste their time trying to get this right while someone comes along and ports the engine over, instead of stepping off their proprietary high horse. And this comes from a life long apple fan.



    Ignoring Sproutcore for a second, what Apple seems to be doing is continuing on their succesful formula of enhancing and contributing to the open source community and standards. Yes, they make money by giving that "edge" to open source projects by making them "closed" source -- MIT license... But there isn't a large gap between the two. Look at webkit and Safari for instance. Both of them have evolved significantly after it went open source. It used to suck before.



    Quote:

    This shouldn't be a discussion of what's a better technology, it should be a discussion of what is in the best interest of users and developers and businesses as what will have the highest universal reach.





    I hope they use both Flash and Sproutcore! :P



    The next generation of browsers == Universal reach.



    The issue is not about killing off Flash. That is a stupid idea and it sounds like something only Microsoft would come up with. It is about frog leaping the competition into the future. You do remember the Flash security vulenerability that left everyone at risk without an ETA of a fix for more than month, don't you? When your user base is as large as the internet, you are really better off with an open sourced, standards based solution which others can contribute to.



    Also, Silverlight has nothing to do with Flash. It is an extension of the .NET platform to the browser which also provides good UI facilities.
  • Reply 75 of 80
    MarvinMarvin Posts: 15,324moderator
    Quote:
    Originally Posted by talksense101 View Post


    How about using Open GL and 3D accelerated graphics (Second Life) on a browser without any plugins?



    http://www.atoker.com/blog/2008/06/1...e-web-content/



    Wrong way round. That's a port of webkit for showing HTML inside a 3D application. So you can for example browse a website inside Second Life not so that you can run Second Life in a browser.



    Quote:
    Originally Posted by talksense101 View Post


    the internet isn't about protection on the user interface front. All your IP is on the backend. If your sensitive logic is on your browser, you are doing something wrong.



    Most of the information on the backend looks fairly similar. The uniqueness comes from how you present and handle the information. Take for example HTML editors like FCKeditor or Tiny MCE - all javascript. That's great for me as a developer who wants to use that component but not great if I wrote it and want to protect all the hours of work that went into making it a very powerful tool.



    Quote:
    Originally Posted by talksense101 View Post


    Besides, software development these days isn't about reinventing the wheel everytime there is a new project, it is about putting together a mash-up of code and applications to meet the requirement. I dare anyone who has done serious development to tell me they haven't referenced the internet for open source code to suit their purpose.



    There's a difference between giving people the option to open source code and having no option. Javascript gives you no options besides obfuscation, which can make life difficult during debugging. Imagine if developers of apps like Photoshop had an option to use an open scripting language. Do you think in a million years they would use it? And yet we are supposed to develop desktop-like apps using it.



    Quote:
    Originally Posted by talksense101 View Post


    Look at webkit and Safari for instance. Both of them have evolved significantly after it went open source. It used to suck before.



    The next generation of browsers == Universal reach.



    The limitations in Javascript remain though whether or not open standards are better for accessibility, security, reliability etc.



    I don't think anybody is saying it's a bad thing for Apple to do this, just that it's not enough to make truly desktop-like web apps.
  • Reply 76 of 80
    mdriftmeyermdriftmeyer Posts: 7,503member
    Quote:
    Originally Posted by ascii View Post


    Cocoa for the web - what about Quartz for the web? When Apple's web servers recognize Safari they could just speak to it in terms of Quartz drawing instructions. It is a way more powerful compositing engine that HTML/CSS/Javascript and could make kick ass sites.



    To have Quartz for Safari requires the entire Yellow Box backend. That's counterproductive when your goal isn't to help Microsoft make Windows a better environment.
  • Reply 77 of 80
    amorphamorph Posts: 7,112member
    First of all, in general terms, the focus on "killing" Flash or any competing product is dumb. It's what has caused Microsoft to make most of their worst mistakes and squander an insuperable market position. Apple (finally) understands that the path to success is a laser focus on making the best deliverable products you can make.



    I'm not sure that the comparisons to Flash are helpful either. As a number of posters have explained in great detail, Flash is not addressing the same problem domain. As a few more have pointed out, it's too early to really tell what Apple is going to do with this. There are a few givens.



    First, they've snapped up Coherent as well as its lead developer, so they're not sticking to just SproutCore.



    Second, they appear to have learned from Microsoft that no matter how theoretically pretty your libraries are, you really lure developers by pampering them with great tools. So I fully expect that once this sprout has finished germinating, the nascent tools that the WebKit guys are developing will blossom into a full-fledged IDE, perhaps even linked into Project Builder. The cool thing is that WebKit's tools, like Drosera, are themselves written with web standard technologies, so that even the web application development environment is a web application. That's eating your own dog food.



    Third, none of this is an attempt to kill Flash. They have something they want to get done. They probably prefer not to depend on anyone else's black boxes to enable their platforms, which makes perfect sense, but it's not like they're going to block Adobe from releasing Flash for the iPhone, or stop distributing or sabotage the Flash plugin for Safari. If the rumor is true and Apple is extending desktop-like application development to the web then of course they will want it to be based either on technology they control or on open standards. That is not mutually exclusive with Flash, and in fact if Apple and Adobe have two neurons between them they will ensure that their technologies work well together.
  • Reply 78 of 80
    aegisdesignaegisdesign Posts: 2,914member
    It's unfortunate that we're even mentioning Flash here but I guess that's what happens when you get f-wits like Daniel writing pieces. He's done well though, causing a stink about Sproutcore v Flash all over the net.



    I still fail to see why Sproutcore is being compared to Flash. You may as well be comparing Rails and Flash.
  • Reply 79 of 80
    MarvinMarvin Posts: 15,324moderator
    Quote:
    Originally Posted by aegisdesign View Post


    I still fail to see why Sproutcore is being compared to Flash. You may as well be comparing Rails and Flash.



    As I said earlier, they have a common goal - to produce powerful, cross-platform, desktop-like apps over the internet.



    In a way what you're saying is what we're saying too. Sproutcore is not comparable to Flash because it isn't powerful enough. It's just a Javascript framework like Rails is just a framework though JS is even more limited than Rails. Sproutcore even needs Rails to work.



    But that then brings us to the point that if it's not comparable to Flash because of the fact it isn't powerful enough then why is it getting any publicity at all? What does Sproutcore really bring to the table that isn't already here with the likes of prototype, mootools and so on? Simply that it only seems to deploy the JS you need, making it more optimal? Maybe that the coding language is similar to OBJ-C (like the majority of us need that to happen )?



    The main thing that interests me is the automated server interaction. I use AJAX quite a bit and having to do the whole round trip to the server manually can be tedious. But it's hardly revolutionary and at the end of the day if we have to suffer things like this:



    http://www.sproutcore.com/static/sc_docs/



    (I'm referring to the insanely slow divider dragging - it isn't using frames yay, so now we can have our CPUs spike doing basic interface maneuvers. And people complain about Flash bogging their computer down) then it's uses are still going to be limited and it won't deliver the desktop-like experience it claims. Improved Javascript engines will help but so far all I see is very slowly evolving web technology trying to play catch up to more advanced APIs.
  • Reply 80 of 80
    gregalexandergregalexander Posts: 1,400member
    Quote:
    Originally Posted by Amorph View Post


    Second, they appear to have learned from Microsoft that no matter how theoretically pretty your libraries are, you really lure developers by pampering them with great tools. So I fully expect that once this sprout has finished germinating, the nascent tools that the WebKit guys are developing will blossom into a full-fledged IDE, perhaps even linked into Project Builder.



    Is it plausible that for simple development of simpler websites, development could be done at an "iWeb" level?
Sign In or Register to comment.