WICKET VS. DJANGO. Leszek Gawron vs. Michał Leszczyński



Podobne dokumenty
ASP.NET MVC. Grzegorz Caban 20 stycznia 2009

Zrąb webowy dla perfekcjonistów z terminami. autor: Kamil Adamczyk

Tworzenie. z wykorzystaniem szkieletu Wicket. BłaŜej Bukowy, Wojciech Orzeszyna,


Technologie internetowe ASP.NET Core. Paweł Rajba

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

Apache Wicket. Bartosz Bekier

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

Wstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1

Szkolenie wycofane z oferty

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

Program szkolenia: Symfony, nowoczesny framework PHP

Ewolucja projektowania aplikacji w PHP na bazie frameworka Symfony 2

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

CMS Admin instrukcja administratora

Budowa aplikacji wielowarstwowych zastosowanie szablonów. Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz

Tytuł szkolenia: Angular 4 - budowanie nowoczesnych i wydajnych aplikacji przeglądarkowych

Wicket. Wstęp. Zalety Wicketa

PROJEKTOWANIE APLIKACJI INTERNETOWYCH

Dostosowywanie wyglądu aplikacji czytelnika w oparciu o oprogramowanie dlibra 5.0

Zaawansowany kurs języka Python

Chatter Aplikacja internetowa

TDD w Django South Sorl Haystack + Whoosh Małe, a cieszy Deployment Koniec. Wspomagacze Django. Jan Filipowski. 25 maja 2010

Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin

Podstawy języka Java. przygotował:

Format HTML. Wybrane działy Informatyki Stosowanej. Definicja i przeznaczenie Struktura dokumentu Znaczniki Formularze i komponenty

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

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

Wykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Jak okiełznać frontend w Django? Piotr Maliński

Rok akademicki: 2030/2031 Kod: ZIE s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Budowa nowoczesnej aplikacji SPA z wykorzystaniem biblioteki Ember.js

Warszawa, Kategorie analizy frameworków GUI

Tworzenie modułów. Wymagania aplikacji. Tworzenie modułów. Architektura aplikacji. controllers

Zrąb JavascriptMVC. Krzysztof Płocharz. 6 kwiecień Uniwersytet Warszawski

Szybko, prosto i tanio - ale czy na pewno?

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

Aplikacje SPA, Angular, TypeScript. dr hab. inż. Marek Wojciechowski

Laboratorium 6 Tworzenie bloga w Zend Framework

Tomasz Grześ. Systemy zarządzania treścią, cz. II

Agenda. Wstęp Zmiany Co nowego dla web developerów? Nowości we front-end developingu Czego spodziewać się może końcowy użytkownik?

Zaawansowane aplikacje internetowe - laboratorium

Programowanie Obiektowe GUI

Program szkolenia: REST i Microservices w PHP

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1).

Programowanie i projektowanie obiektowe

Efektywne tworzenie aplikacji webowych z wykorzystaniem AngularJS, HTML5 i JavaScript

JAVA EE MODEL APLIKACJI. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska

Google Web Toolkit. Piotr Findeisen

Java w Internecie - czy to ma sens? ;)

Zagadnienia Programowania Obiektowego Agata Hejmej

Programowanie w Ruby

Dokumentacja kompilacji źródeł aplikacji 1.0

Patryk Jar Meet.js, Gdańsk 11 marca 2013 r. MODULARNY JAVASCRIPT

Google Web Toolkit Michał Węgorek ZPO 2009

Podstawy (X)HTML i CSS

Microsoft.NET: LINQ to SQL, ASP.NET AJAX

Laboratorium Kierunki Rozwoju oprogramowania REST, Django

Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

WYKŁAD 1 ANGULARJS CZĘŚĆ 1

Grails. v 1.1 Web Framework

Tworzenie oprogramowania

Programowanie aplikacji mobilnych

app/ - folder zawiera pliki konfiguracyjne dla całej aplikacji src/ - folder zawiera cały kod PHP aplikacji

Artifactory Power Pack Pro w procesie wytwarzania oprogramowania. Artifactory Power Pack Plugins Artifactory License Control

Programowanie komponentowe 5

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

BUDOWANIE APLIKACJI. Waldemar Korłub. Platformy Technologiczne KASK ETI Politechnika Gdańska

SzukamNeta.pl Wicket, Maven, SVN, Hudson - tutorial

Programowanie w Ruby

Instalujemy środowisko. Hello World! Odczyt/zapis informacji do komponentów na formie. onclick()

JSF 1.2. w wykonaniu NetBeans IDE 6.1. Jacek Laskowski

Web frameworks do budowy aplikacji zgodnych z J2EE

Praca Dyplomowa Magisterska

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

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1

Szkolenie wycofane z oferty. Programowanie w JavaScript (zawiera jquery)

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

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

Kurs rozszerzony języka Python

Aplikacje webowe z wykorzystaniem. Scala i Lift. Opracował: Mikołaj Sochacki

Dokumentacja. Realizacja w portalu kalkulatora simple. (dane wprowadzane z klawiatury).

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

Front-end: solidne podstawy. Wszystko, co warto wiedzieć o HTML, CSS, JavaScript i Bootstrap.

ZAPYTANIE OFERTOWE. Kryteria wyboru najkorzystniejszej oferty

Szczegółowy opis zamówienia:

STRUTS 2. Krystyna Bury Katarzyna Sadowska Joanna Pyc Politechnika Wrocławska Wydział Informatyki i Zarządzania Informatyka, III rok

Integracja z Facebook. Wersja 7.2.4

Release Notes Process Data Flow ("PDF" )

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

Optymalizacja pracy z instancjami local / staging / production. Krystian Szymukowicz (k.szymukowicz@sourcebroket.net)

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

Kurs ASP.NET ASP.NET CORE APLIKACJE WEBOWE

Angular, cz. II. Tworzenie serwisów Web 2.0. dr inż. Robert Perliński

Aplikacje WWW. Laboratorium z przedmiotu Aplikacje WWW - zestaw 01

Transkrypt:

WICKET VS. DJANGO Leszek Gawron vs. Michał Leszczyński

0. Główne ficze 1. Środowisko developerskie AGENDA 2. Uruchomienie projektów 3. Warstwa DAO/serwisów 4. Tworzenie UI 5. Templating 7. i18n 8. Reusability 9. Security 10. Wsparcie dla Web 2.0

Wicket Swing-like OO Component Model Django Object-relational mapper GŁÓWNE FICZE Reusable Components Ease of Development Separation of Concerns Transparent, Scalable Clustering Support Superb AJAX support Automatic admin interface Elegant URL design Template system Cache system Transparent Back Button Support Internationalization

ŚRODOWISKO DEVELOPERSKIE

Wicket Maven Dowolne IDE dla Javy edytor HTML Wicket Bench eclipse plugin Django eclipse wtyczka pydev do pythona brak wtyczki do django wbudowany serwer ŚRODOWISKO DEVELOPERSKIE

URUCHOMIENIE PROJEKTÓW

WICKET Co potrzebujesz Maven Eclipse + m2eclipse + edytory XML/HTML Wygenerowanie projektu mvn archetype:create \ -DarchetypeGroupId=org.apache.wicket \ -DarchetypeArtifactId=\ wicket-archetype-quickstart \ -DarchetypeVersion=1.4-rc6 \ -DgroupId=com.mobilebox -DartifactId=jug1 URUCHOMIENIE PROJEKTU Uruchomienie Archetyp dostarcza klasę Start.jar (embedded Jetty)

WICKET URUCHOMIENIE PROJEKTU

DJANGO Co potrzebujesz Python, Django, eclipse + pydev plug-in Wygenerowanie projektu URUCHOMIENIE PROJEKTU

DJANGO Wygenerowanie aplikacji URUCHOMIENIE PROJEKTU

DJANGO Konfiguracja projektu settings.py W settings.py ustawiamy takie rzeczy jak: tryb DEBUG dostęp do bazy danych middleware procesory kontekstu aplikacje etc URUCHOMIENIE PROJEKTU

WARSTWA DAO/SERWISÓW

WICKET Warstwa DAO/serwisów znajduje się poza kompetencjami Wicketa, ale... możemy korzystac z integracji z frameworkami Dependency Injection: WARSTWA DAO/SERWISÓW

WICKET WARSTWA DAO/SERWISÓW

DJANGO Model (models.py) Klasy dziedziczące po django.db.models.model mapują się na tabele w bazie danych. Pole klasy = pole w tabeli WARSTWA DAO/SERWISÓW

DJANGO `manage.py syncdb` WARSTWA DAO/SERWISÓW

DJANGO model -> tabela WARSTWA DAO/SERWISÓW

TWORZENIE UI

WICKET - UI <h1 wicket:id= hello >[text goes here]</h1> TWORZENIE UI <h1>hello World</h1> new Label( hello, Hello World );

WICKET - UI <select wicket:id= role /> new DropDownChoice( "role", Arrays.asList( Role.values() ) ) TWORZENIE UI <select name="role"> <option value="0">administrator</option> <option selected="selected" value="1">receptionist</option> <option value="2">financier</option> <option value="3">customer</option> </select>

WICKET - UI <a href="#" wicket:id="donasty">do it!</a> TWORZENIE UI Link link = new Link( "donasty" ) { @Override public void onclick() { setresponsepage( new InterestingPage() ); } }

WICKET - FORMULARZE TWORZENIE UI

WICKET - FORMULARZE TWORZENIE UI

WICKET - FORMULARZE TWORZENIE UI

WICKET ZAAWANSOWANE KOMPONENTY TWORZENIE UI

WICKET ZAAWANSOWANE KOMPONENTY TWORZENIE UI

WICKET ZAAWANSOWANE KOMPONENTY TWORZENIE UI Dostawca danych Definicje kolumn Komponent DataTable

WICKET ZAAWANSOWANE KOMPONENTY TWORZENIE UI <div wicket:id= tabs >

WICKET ZAAWANSOWANE KOMPONENTY TWORZENIE UI

WICKET ZAAWANSOWANE KOMPONENTY TWORZENIE UI

DJANGO PANEL ADMINISTRACYJNY Rejestracja modelu (admin.py) TWORZENIE UI `manage.py syncdb` CRUD jest gotowy do użycia

DJANGO ZAAWANSOWANY PANEL Klasa admina i formularza (forms.py) TWORZENIE UI Rejestracja modelu z klasą admina (admin.py)

DJANGO ZAAWANSOWANY PANEL Panel TWORZENIE UI

TEMPLATING

WICKET Strony dziedziczą markup rodzica TEMPLATING Każdy komponent może dostarczad własny kod HTML

WICKET JAK TO UZYSKAĆ? TEMPLATING

WICKET - DZIEDZICZENIE MARKUPU TEMPLATING

WICKET - DZIEDZICZENIE MARKUPU TEMPLATING

WICKET - DZIEDZICZENIE MARKUPU TEMPLATING

WICKET - DZIEDZICZENIE MARKUPU TEMPLATING

WICKET TEMPLATING

WICKET MARKUP KOMPONENTU TEMPLATING

WICKET MARKUP KOMPONENTU TEMPLATING

WICKET MARKUP KOMPONENTU TEMPLATING

WICKET MARKUP KOMPONENTU TEMPLATING

DJANGO MTV Wzorzec MTV "M" - model "T" vide view vide template "V" vide controller vide view MVC MVP MTV WTF? TEMPLATING View determinuje jakie dane zostaną przekazane do Template'a. Jaki jest flow we wzorcu MTV?

DJANGO URLs Konfiguracja wskazanie pliku z mappowaniem URLi (settings.py) Mapowanie URLi z obsługą wyrażeo regularnych (urls.py) TEMPLATING view decimal param

DJANGO MTV View TEMPLATING

DJANGO MTV Poszukiwania szablonu zgodnie z listą z settings.py TEMPLATING Template

DJANGO MTV Template TEMPLATING

DJANGO MTV Template - filters TEMPLATING built-in date filter

DJANGO MTV Template - tags TEMPLATING Usage:

I18N

WICKET I18N <a href="#" wicket:id="donasty">do it!</a> Wersje językowe?

WICKET I18N <a href="#" wicket:id="donasty">do it!</a> <a href="#" wicket:id="donasty"> <wicket:message key="do.it"> [Do it!] </wicket:message> </a>

WICKET I18N DatePicker Kod Markup DatePicker.java DatePicker.html

WICKET I18N DatePicker Kod Markup Properties DatePicker.java DatePicker.html DatePicker_pl.properties DatePicker_en.properties

WICKET I18N DatePicker Kod Markup Properties DatePicker DatePicker_pl DatePicker_en DatePicker_pl DatePicker_en.java.html.html.properties.properties

WICKET RESOURCE BUNDLE EDITOR I18N http://sourceforge.net/projects/eclipse-rbe/

DJANGO Stworzenie pliku językowego `pl` I18N

DJANGO Co trafia do pliku językowego? I18N

REUSABILITY

WICKET DatePicker REUSABILITY Kod Markup Properties Resources JPG DatePicker.java DatePicker _pl.html DatePicker _en.html DatePicker _pl.properties DatePicker _en.properties Js PNG GIF ICO CSS

WICKET Zrób z tego REUSABILITY JAR i masz reużywalny komponent

DJANGO Reusable applications locale REUSABILITY template template-tag model

DJANGO Reusable applications - instalacja REUSABILITY

DJANGO Reusable applications - użycie REUSABILITY

WEB 2.0

DJANGO WEB 2.0 This page has been intentionally left blank

WICKET WEB 2.0 LIVE DEMO!

LINKS

DJANGO Octavo s beta: WEB 2.0 http://github.com/mleszczynski/octavo/tree/master

NARESZCIE KONIEC!