• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
RestfulX “The RESTful Way to develop Adobe Flex and AIR applications”
 

RestfulX “The RESTful Way to develop Adobe Flex and AIR applications”

on

  • 2,399 views

 

Statistics

Views

Total Views
2,399
Views on SlideShare
2,387
Embed Views
12

Actions

Likes
3
Downloads
36
Comments
0

1 Embed 12

http://www.slideshare.net 12

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    RestfulX “The RESTful Way to develop Adobe Flex and AIR applications” RestfulX “The RESTful Way to develop Adobe Flex and AIR applications” Presentation Transcript

    • RestfulX “The RESTful Way to develop Adobe Flex and AIR applications” or “Flex on Rails” Peter Armstrong peter@ruboss.com www.ruboss.com twitter: @peterarmstrong
    • why?
    • Flex + Rails, before RestfulX
    • Flex + Rails + AIR, before RestfulX
    • http://manning.com/armstrong
    • What are we doing 80% of the time?
    • RESTful CRUD
    • Flex + Rails, with RestfulX
    • Flex + Rails + AIR, with RestfulX
    • RestfulX Features!
    • http://restfulx.github.com/ http://groups.google.com/group/restfulx-framework/
    • RestfulX History Ruboss Framework Ruboss Company Project (Dima lead) 2008 Dima was Ruboss CTO © Ruboss GPL v3 & Commercial License shocking news: you can’t sell very many framework licenses in 2008! RestfulX Framework (“RESTful X” / “REST Flex”) 2009 Community Project © Dima Berastau and Contributors MIT License
    • RestfulX, Ruboss and Dima Today Dima is now doing freelance RestfulX development and is building a time tracking product using RestfulX. = Peter Armstrong + Scott Patten Ruboss is doing RestfulX consulting and development and is working on Sopobo.com, a site to self-publish PDF books. We’re building it in Rails, Flex and Peter and Dima are writing a book RestfulX. Scott’s S3 Flex Development with RestfulX book is on it today. and will be publishing it on Sopobo.
    • DEMO
    • 0. If you have run this before, delete a pomodo.db database from home directory. 1. Create the Rails app, install RestfulX and create the Flex project: $ sudo gem install restfulx db/model.yml: $ rails -d mysql pomodo $ cd pomodo 2. Edit config/environment.rb and add: config.gem "restfulx" 3. Run rx_config with the distributed option: It’s project: - name: string - notes: text - start_date: date - end_date: date just $ ./script/generate rx_config --distributed - completed: boolean - belongs_to: [user] 4. Create your data model: - has_many: [tasks] $ emacs db/model.yml location: that 5. Generate the app, recreate the database and run your server: - name: string $ ./script/generate rx_yaml_scaffold - notes: text $ rake db:refresh - belongs_to: [user] $ ./script/server - has_many: [tasks] 6. Import the project into Flex Builder and compile the Flex code. easy. task: - name: string 7. Go to http://localhost:3000. - notes: text - start_time: datetime 8. Convert the app to AIR: - end_time: datetime a) Stop your server. - completed: boolean b) Delete the project in Flex Builder. (Don't delete contents.) - next_action: boolean c) ./script/generate rx_config -a --distributed - belongs_to: [project, location, user] d) Import the pomodo project into Flex Builder again. e) [WORKAROUND] Fix the routes, which got hosed by rx_config -a --distributed: note: map.resources :locations - content: text map.resources :notes - belongs_to: [user] map.resources :tasks map.resources :projects user: map.resources :users - login: string - first_name: string 9. Test online/offline: - last_name: string a) Start your server. - email: string b) Rebuild and run the AIR app. Note that it's empty. - has_many: [tasks, projects, locations] c) Start your server. Note that online detection works. Do a pull. - has_one: [note] d) Create tasks, projects, etc. e) Do a push.
    • Thanks! Peter Armstrong peter@ruboss.com www.ruboss.com twitter: @peterarmstrong