RestfulX
             “The RESTful Way to develop
           Adobe Flex and AIR applications”
                           o...
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
       © Rub...
RestfulX, Ruboss and Dima Today
         Dima is now doing freelance RestfulX development
        and is building a time t...
DEMO
0. If you have run this before, delete a pomodo.db database from home directory.

1. Create the Rails app, install Restful...
Thanks!

                  Peter Armstrong
peter@ruboss.com www.ruboss.com
           twitter: @peterarmstrong
Upcoming SlideShare
Loading in …5
×

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

1,605 views

Published on

Published in: Technology, Business
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,605
On SlideShare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
38
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

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

  1. 1. 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
  2. 2. why?
  3. 3. Flex + Rails, before RestfulX
  4. 4. Flex + Rails + AIR, before RestfulX
  5. 5. http://manning.com/armstrong
  6. 6. What are we doing 80% of the time?
  7. 7. RESTful CRUD
  8. 8. Flex + Rails, with RestfulX
  9. 9. Flex + Rails + AIR, with RestfulX
  10. 10. RestfulX Features!
  11. 11. http://restfulx.github.com/ http://groups.google.com/group/restfulx-framework/
  12. 12. 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
  13. 13. 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.
  14. 14. DEMO
  15. 15. 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.
  16. 16. Thanks! Peter Armstrong peter@ruboss.com www.ruboss.com twitter: @peterarmstrong

×