Ruby on Rails. Supersilnik WWW. Łukasz Włodarczyk



Podobne dokumenty
Czym jest Ruby on Rails?

Ruby i Ruby on Rails. Mateusz Drożdżyński

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Kurs języka Ruby. Ruby on Rails ActionPack

Program szkolenia: Tworzenie aplikacji w Ruby on Rails z wykorzystaniem zwinnych metodyk

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Programowanie Komponentowe WebAPI

Programowanie w Ruby

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008

Programowanie w Ruby

WYKŁAD 1 ANGULARJS CZĘŚĆ 1

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

Szczegółowy opis zamówienia:

Dokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy

Programowanie w Ruby

Budowanie interfejsów do baz danych

EPI: Interfejs Graficzny Wykład nr 4 Podstawy frameworku Rails

Wybrane działy Informatyki Stosowanej

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

OpenLaszlo. OpenLaszlo

Full Stack JavaScript z Angular i Nest. Dni: 5. Opis: Adresaci szkolenia

Projekt Giełdy Terminów Koncepcja. 19 czerwca 2015

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Bazy danych i strony WWW

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Forum Client - Spring in Swing

MAMP: Można to pobrać i zainstalować z XAMPP: Można go pobrać i zainstalować z

System CMS do obsługi intranetu korporacyjnego z modułem rezerwacji sal konferencyjnych, rzutników, samochodów

Kurs ASP.NET ASP.NET CORE APLIKACJE WEBOWE

Oracle Application Express -

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Programowanie w Ruby

Ewolucja projektowania aplikacji w PHP na bazie frameworka Symfony 2

Wybrane działy Informatyki Stosowanej

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

Aplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

Czym jest jpalio? jpalio jpalio jpalio jpalio jpalio jpalio jpalio jpalio

Wspomaganie pracy w terenie za pomocą technologii BlackBerry MDS. (c) 2008 Grupa SPOT SJ

ActiveXperts SMS Messaging Server

Ekspert MS SQL Server Oferta nr 00/08

ANGULARJS TWORZENIE APLIKACJI INTERNETOWYCH

Programowanie w internecie nazwa przedmiotu SYLABUS A. Informacje ogólne

E-commerce. Genialnie proste tworzenie serwisów w PHP i MySQL.

Modele danych walidacja widoki zorientowane na model

Plan. Aplikacja. Architektura aplikacji. Architektura aplikacji Tworzenie aplikacji Application Builder podstawy

WYDRA BY CTI. WYSYŁANIE DOKUMENTÓW ROZLICZENIOWYCH I ARCHIWIZACJA Instrukcja do programu

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

Specyfikacja implementacyjna aplikacji serwerowej

SZKOLENIE TWORZENIE SYSTEMÓW

Usługi analityczne budowa kostki analitycznej Część pierwsza.

FUNKCJONALNOŚ C PORTAL B2B KAMELEON.ŚQL

Stworzenie programu KSIĄŻKA ADRESOWA posiadającego funkcjonalności przechowywania danych o osobach dodanych przez użytkownika.

ASP.NET MVC. Grzegorz Caban 20 stycznia 2009

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

app/ - folder zawiera pliki konfiguracyjne dla całej aplikacji Można wybrać sposób zapisu konfiguracji: YML, XML, PHP

egroupware czy phpgroupware jest też mniej stabilny.

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

Web frameworks do budowy aplikacji zgodnych z J2EE. Jacek Panachida

Bazodanowe usługi sieciowe w technologii ASP.NET. dr inż. Tomasz Tatoń

Narzędzia podnoszące jakość procesu wytwarzania i wdrażania

Software Architecture Document czyli jak i dlaczego w 14 minut ;-)

Efektywne tworzenie aplikacji webowych z wykorzystaniem AngularJS, HTML5 i JavaScript

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Web frameworks do budowy aplikacji zgodnych z J2EE

Obiektowy model dokumentu. Katedra Mikroelektroniki i Technik Informatycznych

Panel administracyjny serwera: admin.itl.pl

Wybrane działy Informatyki Stosowanej

REFERAT O PRACY DYPLOMOWEJ

Poznaj ASP.NET MVC. Kamil Cieślak Microsoft Student Partner

SiR_13 Systemy SCADA: sterowanie nadrzędne; wizualizacja procesów. MES - Manufacturing Execution System System Realizacji Produkcji

REFERAT PRACY DYPLOMOWEJ

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

RUBY ON RAILS. ZHR.pl extreme II Warszawa Szymon Fiedler

R o g e r A c c e s s C o n t r o l S y s t e m 5

Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor

Podstawy technologii WWW

Część 3 - Konfiguracja

Generated by Foxit PDF Creator Foxit Software For evaluation only. System Szablonów

Java jako język programowania

Wykład nr 1 Język Ruby i framework Rails

Instrukcja instalacji środowiska testowego na TestingCup wersja 1.0

Pojęcie systemu baz danych

Podstawy programowania. Wprowadzenie

Współczesne serwisy internetowe. Wykład 1 Dr Krzysztof Podlaski

WETI. Zastosowanie aplikacji WIKI w przetwarzaniu zespołowym. Anna Jaworska, Piotr Orłowski. Wstęp. Technologie

Laboratorium nr 3 Podstawy Ruby on Rails

Deduplikacja danych. Zarządzanie jakością danych podstawowych

Założenia projektowe dla zapytania ofertowego EAK_ZA_01/2015

Dokumentacja projektu QUAIKE Architektura oprogramowania

PRZEWODNIK PO PRZEDMIOCIE

Spis treści. O autorze 13 Przedmowa 15 Wprowadzenie 17

Transkrypt:

Ruby on Rails Supersilnik WWW Łukasz Włodarczyk

Spis Treści Co to jest Ruby? Dlaczego Ruby? Co to jest Rails? Historia Ruby on Rails Filozofia Ruby on Rails Jak działa technologia Rails? Ruby on Rails i MVC Podział Rails na komponenty Serwery obsługiwane przez Ruby on Rails Bazy danych wspierane przez Ruby on Rails Środowisko Pracy Przykładowe Komercyjne Aplikacje 10 powodów dla których warto używać Rails Ciekawe Źródła

Co to jest Ruby? Krótka Odpowiedź: Ruby jest pomyślną kombinacją języków: Smalltalk Python Perl CLU Eiffel LISP Dłuższa Odpowiedź: Dobrze zobaczmy następne slajdy

Co to jest Ruby? Ruby jest Interpretowany Jak Perl, Python Objektowo-zorientowany Jak Smalltalk, Eiffel, Ada, Java Szybko zyskuje nowych zwolenników w US i Europie Powstał w Japonii, gdzie jest bardzo popularny

Dlaczego Ruby? Łatwy do nauczenia Open source Mnogość dowiązań i bibliotek Możliwość rozszerzania języka Do każdej klasy możemy dodać metody, składowe, lub nadpisać te już istniejące Prawdziwa obiektowość Wszystko jest obiektem (nie ma typów prymitywnych)

Dlaczego Ruby? Dodatkowe narzędzia Rake program do budowy skryptów ala Makefile ruby gems pozwala na instalację za pomocą jednego polecenia dowolnej potrzebnej biblioteki czy pakietu IRB interaktywny interpreter ri przeglądarka dokumentacji

Dlaczego Ruby? Zwięzłość Rails Programy pisane w Ruby mogą być bardzo krótkie, nie tracąc nic na czytelności Popularny framework MVC Radość Dba nie tylko o użytkownika ale również o programistę

Przykładowy Kod Programu

Historia Ruby on Rails Stworzony przez Davida Hanssona Opublikowany w lipcu 2004 roku na stronie Basecamp firmy 37Signals Wersje Ruby on Rails: Wersja 1.0 13 Grudzień 2005 Wersja 1.1 28 Marzec 2006 Najnowsza 1.1.6 10 Sierpień 2006

Filozofia Ruby on Rails Co czyni Railsy innymi od pozostałych? Convention over Configuration czyli konwencja ponad konfiguracją - domyślna konfiguracja wyekstrahowana z tego, czego używa się najczęściej Separacja i integracja - dostajemy od razu pełen pakiet i rzadko, kiedy będziemy zmuszeni sięgać do dodatkowych rozwiązań Dynamika na wiele sposobów i znaczeń - nigdy więcej restartowania serwera

Filozofia Ruby on Rails Zwinność (agility) w 2001 założono Agile Manifesto - regularne wypuszczanie kolejnych wersji programu, dokładne testowanie modułowe i funkcjonalne wszystkich komponentów Ruby pod podszewką Ruby jest wspaniałym językiem i Rails używa go wszędzie DRY czyli (Don t repeat yourself) DRY czyli (Don t repeat yourself) koniec plików konfiguracyjnych XML a, które opisują struktury już raz opisane w kodzie

Jak działa technologia Ruby on Rails? żądanie klienta (wpisanie adresu w przeglądarce) 1 kontroler 4 3 2 widok model baza danych

Jak działa technologia Ruby on Rails? Model-Widok-Kontroler Pozwala na automatyczne wykonanie przez framework wielu podstawowych czynności niezbędnych do stworzenia aplikacji, a wykonywanych w innych technologiach przez programistę. Automatyzacja wynika bezpośrednio z architektury (budowy) frameworka Ruby on Rails.

Jak działa technologia Ruby on Rails? Gdy użytkownik wpisze w przeglądarce adres http://localhost:3000/nazwakontrolera/nazwaakcji 1 4 odpowiedni kontroler wywoła 3 zdefiniowaną w nim akcję na przykład powodującą wyświetlenie napisu 4 Jeśli żądanie będzie dotyczyło modyfikacji w bazie danych, 4 kontroler posiłkuje się modelem 2 Wynik działania kontrolera przekazywany jest do widoku, gdzie generowana jest strona HTML stanowiąca odpowiedź serwera na wysłane żądanie. 4 4

Ruby on Rails i MVC Model (ActiveRecord) Zajmuje się reprezentacją danych, na których aplikacja będzie operować i relacjami pomiędzy danymi Walidacja jest częścią modelu Przeważnie jeden model odzwierciedla jedną tabelę w bazie danych

Ruby on Rails i MVC Widok (ActionView) Widok (ActionView) Odpowiedzialny za wyświetlenie tego, co widzimy w przeglądarce internetowej Udostępnia podstawowe elementy formularzy języka HTML Daje możliwość łatwego skorzystania z takich mechanizmów jak stronicowanie i wiele innych ciekawych rzeczy

Ruby on Rails i MVC Kontroler (ActionController) Kontroler (ActionController) Zajmuje się wykonywaniem wszystkich akcji, czyli metod Odpowiada za komunikację między Modelem a Widokiem Kontroler jest niejako centrum dowodzeniowym całej aplikacji

Podział Rails na komponenty Action Record Odpowiedzialny za model, zapewnia komunikację z bazą danych Action Controller W filozofii MVC zajmuje się wykonywaniem wszystkich akcji, czyli metod Action View Odpowiedzialny za to co widzimy w przeglądarce internetowej, udostępnia podstawowe elementy formularzy HTML

Podział Rails na komponenty Action Mailer Odpowiedzialny za wysyłanie i odbieranie wiadomości poczty elektronicznej Action Web Service Pozwalający na tworzenie Web Services, czyli wyeksportowanie części funkcjonalności twojej aplikacji innym użytkownikom, programistom, programom Prototype Biblioteka w JavaScript, realizująca wszystkie Ajaxowe możliwości

Serwery obsługiwane przez Ruby on Rails WEBrick - wbudowany w środowisko Rails Apache Cherokee Nginx Lighttpd

Bazy Danych wspierane przez Ruby on Rails MySQL PostgreSQL SQLite MS SQL Server Oracle FireBird DB2

Środowisko Pracy Zwykły edytor tekstowy EMACS JEdit RadRails TextMate

Komercyjne Aplikacje Rails Basecamp http://www.basecamphq.com Dwoje ludzi miesiąc pracy 4,000 linii kodu

Komercyjne Aplikacje Rails 43 Things http://43things.com 5 ludzi 2,5 miesiąca tworzenia aplikacji 7,000 linii kodu 9,000 zarejestrowanych użytkowników 200,000 odwiedzin dziennie

Komercyjne Aplikacje Rails SnowDevil http://www.snowdevil.ca 2 twórców aplikacji 6,000 linii kodu 4 miesiące tworzenia aplikacji

Komercyjne Aplikacje Rails Shopify http://shopify.com

Komercyjne Aplikacje Rails ODEO http://odeo.com

10 Powodów dla których warto wypróbować Ruby on Rails I. Zręczne programowanie aplikacji WWW II. III. IV. Łatwe dodanie do tworzonych stron ciekawych, dynamicznych efektów (AJAX i biblioteka JS Prototype) Skupienie się na rozwoju aplikacji a nie na zarządzaniu frameworkiem Wraz z rozwojem aplikacji, możliwe jest utrzymanie ich w dobrym stanie. V. Nasi klienci częściej słyszą odpowiedź Tak

10 Powodów dla których warto wypróbować Ruby on Rails I. Testowanie jest wbudowane we framework II. III. IV. Natychmiastowe efekty zmian: zmień kod, kliknij odśwież i zmiany są widoczne Metaprogramowanie oznacza, że mogę programować na bardzo wysokim poziomie Generatory kodu umożliwiają mi szybkie rozpoczęcie pracy V. Brak plików konfiguracyjnych XML

Ciekawe Źródła Ruby Rails Main Ruby Site http://www.ruby-lang.org/pl/ RubyForge http://rubyforge.org/ Strona Rails http://www.rubyonrails.org/ Tutorial Rails http://www.onlamp.com/pub/a/onlamp/2005/01/20/rails.html http://www.onlamp.com/pub/a/onlamp/2005/03/03/rails.html Ajax w Rails http://www.onlamp.com/