SlideShare a Scribd company logo
1 of 19
Ext JS Zastosowanie w aplikacjach Ruby on Rails Leszek Smentek
Co to takiego ? - Ext JS jest frameworkiem stworzonym i rozwijanym przez firmę Sencha.  - Głównym przeznaczeniem jest budowa aplikacji internetowych silnie opartych na języku javascript - Jest kompatybilny z najbardziej rozpowszechnionymi przeglądarkami na rynku (Firefox, Google Chrome, Safari, Opera, Internet Explorer) - Posiada dwa rodzaje licencji, komercyjną i open source
Do czego może się przydać ? - Interaktywne aplikacje internetowe (AJAX) - Dobrze sprawdza się przy operowaniu na dużej ilości dany (dane tekstowe, numeryczne, statystyki, wykresy, itp.) - Ułatwia budowanie aplikacji wymagających odpowiedniej prezentacji i formatowania danych - Może służyć do budowy części administracyjnej strony internetowej lub portalu - Zapewnienie kompatybilność z wszystkimi głównymi przeglądarkami na rynku - Web Desktop
Inni gracze na rynku. - JQuery  - Google Web Toolkit - Prototype - YUI - ...
Po co marnować mój cenny czas na naukę czegoś nowego? - Wiele ciekawych funkcjonalności zagregowanych w jednym miejscu. - Dobra dokumentacja - Społeczność - Wsparcie techniczne - Narzędzia  - Estetyczny wygląd - To wszystko ze sobą działa !
Nie tylko zalety... - Wiele funkcjonalności zagregowanych w jednym miejscu. (Framework jest dość „ciężki”) - Licencja komercyjna
No dobra ale co to ma wspólnego z Ruby on Rails ?!
Przyjaciele zza wschodniej granicy - Netzke to eleganckie i wydajne rozwiązanie architektoniczne na kilka znanych problemów, które towarzyszą rozwoju złożonych opartych na technologii AJAX RIA (Rich Internet Applications). Bez względu na stopień złożoności aplikacji, Netzke pomoże Ci zachować swój kod w porządku i czystości. - Netzke wprowadza piękną mieszankę kodu klienta i strony serwera (JavaScript i Ruby, odpowiednio). Skutkuje to powstaniem dobrze zdefiniowanych, generujących niewielki ruch, rozszerzalnych komponentów, umożliwiających wielokrotne użycie. - Netzke wykorzystuje ideologię „konwencji nad konfiguracją”, przez co kod GUI staje się bardzo łatwy w tworzeniu, ale bez narzucania jakichkolwiek ograniczeń.
Tyle teorii. Trochę praktyki :) Krok 1 - Gemfile gem 'netzke-core', :git => "git://github.com/skozlov/netzke-core.git" gem 'netzke-basepack', :git => "git://github.com/skozlov/netzke-basepack.git"
Tyle teorii. Trochę praktyki :) Krok 2 - routes.rb NetzkeTaskManager::Application.routes.draw do netzke root :to => "welcome#index" # ... end
I jeszcze trochę praktyki Krok 3 – application.html.erb <!DOCTYPE html> <html> <head> <title>Netzke Task Manager</title> <%=  netzke_init  %> <%= csrf_meta_tag %> </head> <body> <%= yield %> </body> </html>
I jeszcze trochę praktyki nie związanej z Netzke Krok 4 - generatory - rails g controller welcome index - rails g model Task done:boolean name:string notes:text priority:integer due:date Krok 5 – migracja - t.boolean :done, :default => false
Prawie u celu Krok 6 – index.html.erb <%= netzke :tasks,  :class_name => &quot;Basepack::GridPanel&quot;,  :model => &quot;Task&quot;  %>
Nareszcie koniec ciężkiej pracy ;) Krok 7 – Podziwiamy nasze dzieło
Co Netzke daje zwykłemu programiście? - szybkie powstawanie funkcjonalności - przejrzystość i czytelność kodu - komponenty wielokrotnego użytku - elastyczność - większość kodu to ruby - wsparcie twórcy - ciągły rozwój
Każdy szanujący się Polak musi trochę ponarzekać. Czyli trochę o wadach. - dobry kod dokumentuję się sam (nie koniecznie !!!) - coś więcej niż beta a mniej niż produkt finalny - wsparcie twórcy (głównie) - dziwne rozwiązania (niektóre) - prawie Web Desktop
Linki - Ext JS: http://www.sencha.com/products/extjs/ http://www.sencha.com/products/extjs/examples/ - Netzke:  http://netzke.org/ http://blog.writelesscode.com/
Pytania
Dziękuję za uwagę

More Related Content

Similar to Extjs & netzke

Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowychTomasz Borowski
 
Jak nadążyć za światem front-endu - WordPress Training Day
Jak nadążyć za światem front-endu - WordPress Training DayJak nadążyć za światem front-endu - WordPress Training Day
Jak nadążyć za światem front-endu - WordPress Training DayTomasz Dziuda
 
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.Wojciech Barczyński
 
Technologie mobilne w platformach edukacyjnych. Kosmikus, studium przypadku
Technologie mobilne w platformach edukacyjnych. Kosmikus, studium przypadkuTechnologie mobilne w platformach edukacyjnych. Kosmikus, studium przypadku
Technologie mobilne w platformach edukacyjnych. Kosmikus, studium przypadkuMichal Lukaszewski
 
Delphi 8 .NET. Kompendium programisty
Delphi 8 .NET. Kompendium programistyDelphi 8 .NET. Kompendium programisty
Delphi 8 .NET. Kompendium programistyWydawnictwo Helion
 
Webinar - Podstawy Node.js
Webinar - Podstawy Node.jsWebinar - Podstawy Node.js
Webinar - Podstawy Node.jsWojciech Kaniuka
 
CI oraz CD w złożonym projekcie o małym budżecie
CI oraz CD w złożonym projekcie o małym budżecieCI oraz CD w złożonym projekcie o małym budżecie
CI oraz CD w złożonym projekcie o małym budżecieGrzegorz Godlewski
 
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...The Software House
 
Podstawy programowania w Drupalu - Drupal idzie na studia - Jarosław Sobiecki
Podstawy programowania w Drupalu - Drupal idzie na studia - Jarosław SobieckiPodstawy programowania w Drupalu - Drupal idzie na studia - Jarosław Sobiecki
Podstawy programowania w Drupalu - Drupal idzie na studia - Jarosław SobieckiGrzegorz Bartman
 
Michał Dec - Quality in Clouds
Michał Dec - Quality in CloudsMichał Dec - Quality in Clouds
Michał Dec - Quality in Cloudskraqa
 
Łukasz Spandel – Atena – JavaScript rośnie w siłę – najnowsze trendy w tworze...
Łukasz Spandel – Atena – JavaScript rośnie w siłę – najnowsze trendy w tworze...Łukasz Spandel – Atena – JavaScript rośnie w siłę – najnowsze trendy w tworze...
Łukasz Spandel – Atena – JavaScript rośnie w siłę – najnowsze trendy w tworze...3camp
 
Full Stack JavaScript case study na podstawie Maracuya Jukebox audio player
Full Stack JavaScript case study na podstawie Maracuya Jukebox audio playerFull Stack JavaScript case study na podstawie Maracuya Jukebox audio player
Full Stack JavaScript case study na podstawie Maracuya Jukebox audio playerMarek Będkowski
 
Websites vs Cloud Services - OLMUG
Websites vs Cloud Services - OLMUGWebsites vs Cloud Services - OLMUG
Websites vs Cloud Services - OLMUGBart Zaremba
 
ASP.NET. Vademecum profesjonalisty
ASP.NET. Vademecum profesjonalistyASP.NET. Vademecum profesjonalisty
ASP.NET. Vademecum profesjonalistyWydawnictwo Helion
 
Rails tobak2005
Rails tobak2005Rails tobak2005
Rails tobak2005Tomasz Bak
 

Similar to Extjs & netzke (20)

Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowych
 
Jaki framework wybrać
Jaki framework wybraćJaki framework wybrać
Jaki framework wybrać
 
JavaEE + OSGi
JavaEE + OSGiJavaEE + OSGi
JavaEE + OSGi
 
Jak nadążyć za światem front-endu - WordPress Training Day
Jak nadążyć za światem front-endu - WordPress Training DayJak nadążyć za światem front-endu - WordPress Training Day
Jak nadążyć za światem front-endu - WordPress Training Day
 
JavaScript, Moduły
JavaScript, ModułyJavaScript, Moduły
JavaScript, Moduły
 
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
 
Technologie mobilne w platformach edukacyjnych. Kosmikus, studium przypadku
Technologie mobilne w platformach edukacyjnych. Kosmikus, studium przypadkuTechnologie mobilne w platformach edukacyjnych. Kosmikus, studium przypadku
Technologie mobilne w platformach edukacyjnych. Kosmikus, studium przypadku
 
Delphi 8 .NET. Kompendium programisty
Delphi 8 .NET. Kompendium programistyDelphi 8 .NET. Kompendium programisty
Delphi 8 .NET. Kompendium programisty
 
Webinar - Podstawy Node.js
Webinar - Podstawy Node.jsWebinar - Podstawy Node.js
Webinar - Podstawy Node.js
 
CI oraz CD w złożonym projekcie o małym budżecie
CI oraz CD w złożonym projekcie o małym budżecieCI oraz CD w złożonym projekcie o małym budżecie
CI oraz CD w złożonym projekcie o małym budżecie
 
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
 
Podstawy programowania w Drupalu - Drupal idzie na studia - Jarosław Sobiecki
Podstawy programowania w Drupalu - Drupal idzie na studia - Jarosław SobieckiPodstawy programowania w Drupalu - Drupal idzie na studia - Jarosław Sobiecki
Podstawy programowania w Drupalu - Drupal idzie na studia - Jarosław Sobiecki
 
Html5 i css3
Html5 i css3Html5 i css3
Html5 i css3
 
Projektowanie i programowanie aplikacji nowej generacji
Projektowanie i programowanie aplikacji nowej generacjiProjektowanie i programowanie aplikacji nowej generacji
Projektowanie i programowanie aplikacji nowej generacji
 
Michał Dec - Quality in Clouds
Michał Dec - Quality in CloudsMichał Dec - Quality in Clouds
Michał Dec - Quality in Clouds
 
Łukasz Spandel – Atena – JavaScript rośnie w siłę – najnowsze trendy w tworze...
Łukasz Spandel – Atena – JavaScript rośnie w siłę – najnowsze trendy w tworze...Łukasz Spandel – Atena – JavaScript rośnie w siłę – najnowsze trendy w tworze...
Łukasz Spandel – Atena – JavaScript rośnie w siłę – najnowsze trendy w tworze...
 
Full Stack JavaScript case study na podstawie Maracuya Jukebox audio player
Full Stack JavaScript case study na podstawie Maracuya Jukebox audio playerFull Stack JavaScript case study na podstawie Maracuya Jukebox audio player
Full Stack JavaScript case study na podstawie Maracuya Jukebox audio player
 
Websites vs Cloud Services - OLMUG
Websites vs Cloud Services - OLMUGWebsites vs Cloud Services - OLMUG
Websites vs Cloud Services - OLMUG
 
ASP.NET. Vademecum profesjonalisty
ASP.NET. Vademecum profesjonalistyASP.NET. Vademecum profesjonalisty
ASP.NET. Vademecum profesjonalisty
 
Rails tobak2005
Rails tobak2005Rails tobak2005
Rails tobak2005
 

Extjs & netzke

  • 1. Ext JS Zastosowanie w aplikacjach Ruby on Rails Leszek Smentek
  • 2. Co to takiego ? - Ext JS jest frameworkiem stworzonym i rozwijanym przez firmę Sencha. - Głównym przeznaczeniem jest budowa aplikacji internetowych silnie opartych na języku javascript - Jest kompatybilny z najbardziej rozpowszechnionymi przeglądarkami na rynku (Firefox, Google Chrome, Safari, Opera, Internet Explorer) - Posiada dwa rodzaje licencji, komercyjną i open source
  • 3. Do czego może się przydać ? - Interaktywne aplikacje internetowe (AJAX) - Dobrze sprawdza się przy operowaniu na dużej ilości dany (dane tekstowe, numeryczne, statystyki, wykresy, itp.) - Ułatwia budowanie aplikacji wymagających odpowiedniej prezentacji i formatowania danych - Może służyć do budowy części administracyjnej strony internetowej lub portalu - Zapewnienie kompatybilność z wszystkimi głównymi przeglądarkami na rynku - Web Desktop
  • 4. Inni gracze na rynku. - JQuery - Google Web Toolkit - Prototype - YUI - ...
  • 5. Po co marnować mój cenny czas na naukę czegoś nowego? - Wiele ciekawych funkcjonalności zagregowanych w jednym miejscu. - Dobra dokumentacja - Społeczność - Wsparcie techniczne - Narzędzia - Estetyczny wygląd - To wszystko ze sobą działa !
  • 6. Nie tylko zalety... - Wiele funkcjonalności zagregowanych w jednym miejscu. (Framework jest dość „ciężki”) - Licencja komercyjna
  • 7. No dobra ale co to ma wspólnego z Ruby on Rails ?!
  • 8. Przyjaciele zza wschodniej granicy - Netzke to eleganckie i wydajne rozwiązanie architektoniczne na kilka znanych problemów, które towarzyszą rozwoju złożonych opartych na technologii AJAX RIA (Rich Internet Applications). Bez względu na stopień złożoności aplikacji, Netzke pomoże Ci zachować swój kod w porządku i czystości. - Netzke wprowadza piękną mieszankę kodu klienta i strony serwera (JavaScript i Ruby, odpowiednio). Skutkuje to powstaniem dobrze zdefiniowanych, generujących niewielki ruch, rozszerzalnych komponentów, umożliwiających wielokrotne użycie. - Netzke wykorzystuje ideologię „konwencji nad konfiguracją”, przez co kod GUI staje się bardzo łatwy w tworzeniu, ale bez narzucania jakichkolwiek ograniczeń.
  • 9. Tyle teorii. Trochę praktyki :) Krok 1 - Gemfile gem 'netzke-core', :git => &quot;git://github.com/skozlov/netzke-core.git&quot; gem 'netzke-basepack', :git => &quot;git://github.com/skozlov/netzke-basepack.git&quot;
  • 10. Tyle teorii. Trochę praktyki :) Krok 2 - routes.rb NetzkeTaskManager::Application.routes.draw do netzke root :to => &quot;welcome#index&quot; # ... end
  • 11. I jeszcze trochę praktyki Krok 3 – application.html.erb <!DOCTYPE html> <html> <head> <title>Netzke Task Manager</title> <%= netzke_init %> <%= csrf_meta_tag %> </head> <body> <%= yield %> </body> </html>
  • 12. I jeszcze trochę praktyki nie związanej z Netzke Krok 4 - generatory - rails g controller welcome index - rails g model Task done:boolean name:string notes:text priority:integer due:date Krok 5 – migracja - t.boolean :done, :default => false
  • 13. Prawie u celu Krok 6 – index.html.erb <%= netzke :tasks, :class_name => &quot;Basepack::GridPanel&quot;, :model => &quot;Task&quot; %>
  • 14. Nareszcie koniec ciężkiej pracy ;) Krok 7 – Podziwiamy nasze dzieło
  • 15. Co Netzke daje zwykłemu programiście? - szybkie powstawanie funkcjonalności - przejrzystość i czytelność kodu - komponenty wielokrotnego użytku - elastyczność - większość kodu to ruby - wsparcie twórcy - ciągły rozwój
  • 16. Każdy szanujący się Polak musi trochę ponarzekać. Czyli trochę o wadach. - dobry kod dokumentuję się sam (nie koniecznie !!!) - coś więcej niż beta a mniej niż produkt finalny - wsparcie twórcy (głównie) - dziwne rozwiązania (niektóre) - prawie Web Desktop
  • 17. Linki - Ext JS: http://www.sencha.com/products/extjs/ http://www.sencha.com/products/extjs/examples/ - Netzke: http://netzke.org/ http://blog.writelesscode.com/