SproutCore debuts new HTML5 web development tools

Posted:
in Mac Software edited January 2014
The open source SproutCore framework--which Apple invested in to create its suite of MobileMe apps--has been cross-pollinating with HTML5 features to develop in new directions, including a new interface builder, rich support for multitouch, and a packaging system for sharing JavaScript code between projects.



At this weekend's JSConf event in Washington DC, a variety of new JavaScript-related tools were demonstrated, providing new competition to the incumbent Adobe Flash in the area of creating rich web apps, but entirely within HTML5 without needing a proprietary browser plugin.



JavaScript frameworks like SproutCore are used to ease the development of full blown web apps. Unlike Adobe's Flash, which is often used just to add interactive animations, videos or advertisements to a web page, SproutCore is intended to create rich Internet applications based entirely upon web standards, with no need for an external plugin architecture.



Apple demonstrated what could be done with SproutCore in its MobileMe apps, which debuted in mid 2008. SproutCore was used to create the highly interactive front end that users see; the web apps work within modern browsers and talk to Apple's backend servers to present mail, calendars, contacts, photo galleries, remote discovery and wipe features for iPhones, and other MobileMe features.



SproutCore is evolving as a product of Apple engineers and others who contribute to the open project. It was founded by Charles Jolley, who originated Sprout Systems in 2005 and who was subsequently hired by Apple to serve as the senior architect for its HTML5 Web Apps and MobileMe, starting in late 2006.



SproutCore Touch



At JSConf, the team presented a series of new tools leveraging HTML5. SproutCore Touch includes support for touch events and hardware acceleration on the iPhone and iPad. It is also planned to extend support to Android and Palm's webOS.



The new framework makes it easy to incorporate touch, drag, and pinch to resize features into standard HTML5 web pages within Safari, Chrome and Firefox, with bugs still being worked out for Internet Explorer. The group demonstrated a version of the native NPR app for iPad created entirely within SproutCore Touch as a web application.



A demonstration of SproutCore Touch is available at http://touch.sproutcore.com/hedwig which presents example source code and functional examples of using multitouch gestures, scrolling lists with momentum and bounce, touch-enabled graphics resizing and scaling, and support for iPad orientation-aware navigation, which works similar to Mail when shifting from portrait to landscape.









Seeds.js: a package manager for JavaScript



The SproutCore team is also working to solve the issue of how JavaScript developers can share packages of code as a library, something that is common and easy to do in other languages such as Ruby or Python.



Installing and integrating updated versions of a shared library are easy to do in other environments thanks to package manager tools, but that's are area for JavaScript that isn't well fleshed out. That's a problem for web developers, where JavaScript serves as the language for client side code that runs in the browser.



SproutCore's solution is called Seed.js. It builds upon the existing CommonJS module pattern, but adds a flexible package manager that serves as a universal CommonJS module runtime, a tool for installing, updating, removing and forking JavaScript packages, and a JavaScript-runner that can load code in a variety of different runtimes.



SproutCore reports that it has been working with Mozilla's Bespin team on the Seed CommonJS runtime for several months now, and "we're really happy with it." Bespin is Mozilla's web-based code editor project built using HTML5 and in particular the Canvas tag.



Greenhouse: an interface builder for the web



The SproutCore team is also working on a graphical interface builder for SproutCore development. Details on the new environment are sparse, but a report by Ajaxian notes that "SproutCore was actually written with tooling in mind. For example, the tool can load up your SproutCore app and suppress the main loop, and get access to your custom views."







Progress on SproutCore mutes a primary argument of users invested in Flash, that HTML5 offers no tools to help them create content. While there are few "Creative Suite" style applications for creating presentation-oriented content in HTML5, the real intent of HTML5 is not to create self contained animations, but rather to build real web content focused on semantic page markup. This original intent of the web allows browsers to interpret pages as needed to suit optimized environments ranging from mobile devices to equipment accessible to different audiences with special needs.



That means that while companies like Adobe are likely to eventually add support for HTML5 output from their code generating apps like Dreamweaver, the majority of legitimate HTML5 development will continue the same way enabling new technologies like AJAX have developed: websites built by developers using coding tools, rather than designer tools that automatically generate code intended to create content that looks the same no matter the medium.
«134

Comments

  • Reply 1 of 71
    Mobileme webmail is brought to you by SproutCore?

    \
  • Reply 2 of 71
    foo2foo2 Posts: 1,077member
    Quote:
    Originally Posted by AppleInsider View Post


    Progress on SproutCore mutes a primary argument of users invested in Flash, that HTML5 offers no tools to help them create content. While there are few "Creative Suite" style applications for creating presentation-oriented content in HTML5, the real intent of HTML5 is not to create self contained animations...



    Although it appears to not be intended, this seems to argue that there will still be a place for Flash once HTML5 adoption has peaked: the creation of self-contained animations.
  • Reply 3 of 71
    Apple prevented the founder of Sproutcore from giving the talk at JSConf. Do you really want to invest in a framework where Apple prevents the lead developer from talking about what SC is doing?
  • Reply 4 of 71
    monstrositymonstrosity Posts: 2,234member
    Quote:
    Originally Posted by AppleLover1234 View Post


    Apple prevented the founder of Sproutcore from giving the talk at JSConf. Do you really want to invest in a framework where Apple prevents the lead developer from talking about what SC is doing?



    Yes I would.
  • Reply 5 of 71
    Quote:
    Originally Posted by monstrosity View Post


    Yes I would.



    well i wouldn't.
  • Reply 6 of 71
    ihxoihxo Posts: 567member
    Quote:
    Originally Posted by AppleLover1234 View Post


    Apple prevented the founder of Sproutcore from giving the talk at JSConf. Do you really want to invest in a framework where Apple prevents the lead developer from talking about what SC is doing?



    What are you talking about anyways...
  • Reply 7 of 71
    ivarivar Posts: 1member
    Quote:
    Originally Posted by Foo2 View Post


    Although it appears to not be intended, this seems to argue that there will still be a place for Flash once HTML5 adoption has peaked: the creation of self-contained animations.



    SVG and canvas are appropriate HTML5 alternatives to Flash for animation.
  • Reply 8 of 71
    zwebenzweben Posts: 75member
    Quote:
    Originally Posted by ivar View Post


    SVG and canvas are appropriate HTML5 alternatives to Flash for animation.



    Plus CSS3 has support for basic animations as well. Certainly not a Flash substitute in itself, but it's a lightweight replacement for simple animations. It probably competes with animated GIFs more than Flash though.
  • Reply 9 of 71
    Quote:
    Originally Posted by ihxo View Post


    What are you talking about anyways...



    Apple muzzled the lead developer of Sproutcore because they didn't want him speaking publicly for whatever reason. He's not even allowed to confirm or deny it happened.



    I'd hate for the open source framework to become as mangled as webkit, (removing pieces they don't want to commit back to the repo and linking against them, like they do with the touch version of WebKit) because apple wants to protect the IP. Especially considering most of the people working on Sproutcore now work at apple.
  • Reply 10 of 71
    ihxoihxo Posts: 567member
    Quote:
    Originally Posted by AppleLover1234 View Post


    Apple muzzled the lead developer of Sproutcore because they didn't want him speaking publicly for whatever reason. He's not even allowed to confirm or deny it happened.



    I'd hate for the open source framework to become as mangled as webkit, (removing pieces they don't want to commit back to the repo and linking against them, like they do with the touch version of WebKit) because apple wants to protect the IP. Especially considering most of the people working on Sproutcore now work at apple.



    What are you talking about.



    Touch interface is not an essential part of webkit. I am sure Google/Palm didn't put everything in Google Chrome/WebOS back into the webkit either. Why did google take out sandboxing and process isolation, which sounds more like an essential feature in a modern web browser?



    also Charles Jolley as an Apple Employee, showing up at jsconf introducing Sproutcore Greenhouse might get a little confusing. He is still at the conference at some capacity.
  • Reply 11 of 71
    Quote:
    Originally Posted by AppleLover1234 View Post


    Apple prevented the founder of Sproutcore from giving the talk at JSConf. Do you really want to invest in a framework where Apple prevents the lead developer from talking about what SC is doing?



    Yes I certainly would!



    Apple surely know what they are doing. They are about to reinvent the internet. The way you and I interact with online apps and the "mobile" web, in general, is about to change. Some plans are just not ready to be seen by the public eye. Apple clearly wants to keep certain aspects of their roadmap a secret. It is all about business and the effect of surprise. If Apple decides so, as THE main investor, it should be so!



    It´s not luck that Apple is where they are today. The multi-touch web revolution has already begun... And Apple is leading the way!
  • Reply 12 of 71
    Quote:
    Originally Posted by ihxo View Post


    What are you talking about.



    Touch interface is not an essential part of webkit. I am sure Google/Palm didn't put everything in Google Chrome/WebOS back into the webkit either. Why did google take out sandboxing and process isolation, which sounds more like an essential feature in a modern web browser?



    *sigh* stop being an apologist. You're telling me that the multitouch api in webkit isn't important? It's just as important as any mouse event. The only difference is that there isn't a standardize way to do it? so now anyone who wants to implement a browser with a multitouch API will have to add their own implementation to webkit?



    Google's sandboxing is built into chrome, not webkit. They didn't take it out after the fact because they didn't want to contribute it back to webkit. That said, Chromium (the Chrome browser) is open source?



    Apple should not silence the developers of sproutcore.
  • Reply 13 of 71
    Quote:
    Originally Posted by Macfabulous View Post


    Yes I certainly would!



    Apple surely know what they are doing. They are about to reinvent the internet. The way you and I interact with online apps and the "mobile" web, in general, is about to change. Some plans are just not ready to be seen by the public eye. Apple clearly wants to keep certain aspects of their roadmap a secret. It is all about business and the effect of surprise. If Apple decides so, as THE main investor, it should be so!



    It´s not luck that Apple is where they are today. The multi-touch web revolution has already begun... And Apple is leading the way!



    Perhaps you should spend a little time working with sproutcore? Apple DOES NOT own sproutcore. To give them credit for the hard work the Sproutcore community has done is to give them the credit for the bad assness of the WebKit rendering engine? It's insane.
  • Reply 14 of 71
    Quote:
    Originally Posted by AppleLover1234 View Post


    Apple muzzled the lead developer of Sproutcore because they didn't want him speaking publicly for whatever reason. He's not even allowed to confirm or deny it happened. ...



    In other news, Barack Obama let me in on his secret plans for UFOs to assist America in colonising Mars next year, but he swore everyone involved to secrecy, and no one's allowed to even say we were sworn to secrecy either. ZOMG!
  • Reply 15 of 71
    Quote:
    Originally Posted by Prof. Peabody View Post


    In other news, Barack Obama let me in on his secret plans for UFOs to assist America in colonising Mars next year, but he swore everyone involved to secrecy, and no one's allowed to even say we were sworn to secrecy either. ZOMG!



    Confirm or deny is a little bit different than saying "no" "if it did happen " is confirmation… Besides, why else would the SC guys be here saying "well, he did attend JSConf at some capacity" It's not too difficult to reach… why don't you ask him yourself.
  • Reply 16 of 71
    Quote:
    Originally Posted by ivar View Post


    SVG and canvas are appropriate HTML5 alternatives to Flash for animation.



    Basic shape and painting/animating functions are appropriate alternatives?

    I doubt that HTML5 is ready to trump Flash in animation in the near future. Video, sure, but definitely not animation.
  • Reply 17 of 71
    ihxoihxo Posts: 567member
    Quote:
    Originally Posted by AppleLover1234 View Post


    *sigh* stop being an apologist. You're telling me that the multitouch api in webkit isn't important? It's just as important as any mouse event. The only difference is that there isn't a standardize way to do it… so now anyone who wants to implement a browser with a multitouch API will have to add their own implementation to webkit…



    Google's sandboxing is built into chrome, not webkit. They didn't take it out after the fact because they didn't want to contribute it back to webkit. That said, Chromium (the Chrome browser) is open source…



    Apple should not silence the developers of sproutcore.



    What are you talking about Webkit is a rendering engine, nothing more, nothing less.



    If Apple leave those things in there, people will be crying Apple's trying to pollute the open source Webkit with their proprietary crap.
  • Reply 18 of 71
    Quote:
    Originally Posted by ihxo View Post


    What are you talking about Webkit is a rendering engine, nothing more, nothing less.



    If Apple leave those things in there, people will be crying Apple's trying to pollute the open source Webkit with their proprietary crap.



    Do you understand how this stuff works?
  • Reply 19 of 71
    ihxoihxo Posts: 567member
    Quote:
    Originally Posted by AppleLover1234 View Post


    Do you understand how this stuff works?



    do you understand what you are talking about?
  • Reply 20 of 71
    foljsfoljs Posts: 390member
    Quote:
    Originally Posted by AppleInsider View Post


    That means that while companies like Adobe are likely to eventually add support for HTML5 output from their code generating apps like Dreamweaver, the majority of legitimate HTML5 development will continue the same way enabling new technologies like AJAX have developed: websites built by developers using coding tools, rather than designer tools that automatically generate code



    Actually, the former (authoring tools as opposed to coding tools) was the vision of Tim Berners Lee.
Sign In or Register to comment.