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
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
0 comments
Post a comment