SproutCore and the Future of Web Apps

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    SproutCore and the Future of Web Apps - Presentation Transcript

    1. 3F 2.0
    2. Future of Web Apps Fast,
    3. Future of Web Apps Fluid,
    4. Future of Web Apps and Feature-rich.
    5. Future of Web Apps Less web, more app
    6. Future of Web Apps More demanding users
    7. Future of Web Apps Web-native, no plugins
    8. Future of Web Apps Probably client-server
    9. Building 3F Apps with SproutCore Mike Subelsky OtherInbox.com IgniteBaltimore.com
    10. Users Want More
    11. Impossible with “traditional” web 2.0 techniques
    12. remove_messages: function(message_ids,block) { OtherInbox.undo_stack.push(new UndoAction(message_ids,Mailbox.current_id,block)) $('undo').writeAttribute('disabled',null) var affected_mailboxes = $H() var highest_position = null var msg_count = 0 message_ids.each(function(id) { $('msg_row_' + id).remove() var msg = Message.instances.unset(id) var position = Message.ordered_instance_keys.indexOf(Number(id)) Message.ordered_instance_keys.splice(position,1) if ((highest_position == null) || (highest_position < position)) highest_position = position msg_count++ }) Mailbox.update_message_count(msg_count)
    13. You Need Client-Server
    14. OI.executeAjax('/refresh', { method: 'get', parameters: parameters, onSuccess: function(transport) { OI._parseServerUpdate( transport ); } });
    15. class RefreshController < ApplicationController before_filter :signin_required def index render :text => JSON.generate(Refresher.new(params).to_hash) end end
    16. {\"deleted\":{},\"flash\":[],\"recordTypes\":[\"Mailbox\",\"User\",\"Folder\"], \"changed\":{\"User\":[{\"name\":\"forfun\",\"preferences\":null,\"guid\":3,\"type\":\"User\", \"admin\":true,\"invitationsRemaining\":1,\"login\":\"testuser\",\"state\":\"completed\"}], \"created\":{\"Mailbox\":[{\"name\":\"Freeslide\",\"unreadCount\":null,\"guid\":\"12\", \"folder\":\"3\",\"priority\":\"2\",\"type\":\"Mailbox\"}]}}}
    17. sh Fla t ip S cr va Ja CSS L HTM
    18. removeMessages: function(msgs) { SC.Store.destroyRecords(); }
    19. “...writing an app in Javascript on the web is akin to writing C on the desktop: it is just one level above the 'bare metal’.” - Charles Jolley
    20. SproutCore does 80%
    21. Feels a bit like Rails
    22. Feels a bit like Rails Convention over configuration
    23. Feels a bit like Rails Configuring components
    24. Feels a bit like Rails Uses ERB or Haml
    25. Except totally different
    26. Except totally different Inspired by Cocoa
    27. Except totally different Everything is a binding
    28. Except totally different Trust but verify if (foo && foo.get(‘importantValue’))
    29. Except totally different By all means, repeat yourself
    30. Except totally different JavaScript is awesome (just avoid the bad parts)
    31. Except totally different MVC !== MVC
    32. Demo

    subelskysubelsky, 8 months ago

    custom

    1032 views, 1 favs, 0 embeds more stats

    More Info

    © All Rights Reserved

    Go to text version
    • Total Views 1032
      • 1032 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 14
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as innappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel

    Categories