Co nowego w rails 3

1,633 views
1,571 views

Published on

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

  • Be the first to like this

No Downloads
Views
Total views
1,633
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Co nowego w rails 3

  1. 1. Co nowego w Rails 3? Piotr Macuk <piotr@macuk.pl>
  2. 2. O mnie ● Projektant, programista ● Konsultant, manager ● 10 lat aplikacje webowe ● Perl => PHP => Python => Ruby ● 5 lat produkcyjnie Ruby on Rails (0.11)
  3. 3. Czym jest Rails 3? „Rails 3.0 is ponies and rainbows! It’s going to cook you dinner and fold your laundry. You’re going to wonder how life was ever possible before it arrived. It’s the Best Version of Rails We’ve Ever Done!” Rails 3.0 = Rails 2.x + Merb 1.x Rails 3.0 = 4000 commits, 250 autorów
  4. 4. Co nowego ● Konfiguracja ● Bundler ● Całkiem nowy router ● ActiveModel (ARel) ● AbstractController (ActionController, ActionMailer) ● ActionMailer (Mail) ● Dyskretny (unobtrusive) JavaScript ● I18n
  5. 5. Konfiguracja ● config/environment.rb =>  config/application.rb ● script/* => script/rails ● config.gem => Gemfile ● Rails.root/app/* ● RAILS_ROOT => Rails.root ● RAILS_ENV => Rails.env
  6. 6. Bundler ● Zarządzanie zależnościami ● Systematyczność ● Powtarzalność ● Gemfile ● Grupy ● Wsparcie dla git-a (branch, tag)
  7. 7. Całkiem nowy router ● Niezależny od Rails ● Ładniejsza składnia (DSL) ● Bezpośrednie wejście do Rack ● Obsługa subdomen ● Opcjonalne segmenty
  8. 8. ActiveModel ● Abstrakcja dla różnych ORM ● Validacje, observery, I18n, serializacja, state machine i wiele innych do wzięcia ● ActiveRecord ● ARel, ActiveRelation, łańcuchy ● Lazy loading ● where, select, group, having, joins,  order, limit, from, scope, … ● post.errors.on => post.errors[]
  9. 9. ActiveRelation ● Post.find(:all,  :conditions => {:author => 'John'},  :includes => :comments,  :order => 'title', :limit => 20) ● Post.where(:author => 'John'). include(:comments). order(:title). limit(20)
  10. 10. ActionMailer ● Mail zamiast Tmail ● ActionMailer < AbstractController ● app/mailers/* ● Mail::Message#deliver ● Nagłówki, załączniki, załączniki „inline” ● Automatyczny encoding
  11. 11. Widoki ● Dyskretny (unobtrusive) JavaScript ● Zabezpieczenie przed XSS ● <%=h @post.title %> =>  <%= @post.title %> ● <%=raw @post.safe_title %> ● HTML5 w helperach ● I18n w label ● Erubis
  12. 12. Dlaczego warto ● Lepsza wydajność ● Bezpieczeństwo ● Lepsza architektura ● Spójne API ● Segmentacja ● Agnostycyzm ● „It’s the Best Version of Rails Ever!”
  13. 13. Jak zacząć ● Ruby w wersji 1.8.7 lub 1.9.2 ● rvm ● $GEM_HOME, $GEM_PATH ● gem install rails ­­pre ● plugin rails_upgrade
  14. 14. Linki ● http://guides.rails.info/ ● http://railscasts.com/ ● http://railsdispatch.com/
  15. 15. Pytania?
  16. 16. Dziękuję za uwagę :) Piotr Macuk <piotr@macuk.pl>

×