Extjs & netzke

Post on 25-Jun-2015

2.765 views 1 download

Transcript of Extjs & netzke

Ext JSZastosowanie 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 => "Basepack::GridPanel",

:model => "Task"

%>

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ę