Your SlideShare is downloading. ×
RestfulX “The RESTful Way to develop Adobe Flex and AIR applications”
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

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

1,357
views

Published on

Published in: Technology, Business

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,357
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
36
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

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