Ext JS Kárász István 2014.

Slides:



Advertisements
Hasonló előadás
HTML enhanced for web apps! Fodor Krisztián
Advertisements

Kreitl Péter Gemini-IT Magyarország Kft.
„Esélyteremtés és értékalakulás” Konferencia Megyeháza Kaposvár, 2009
RESTful Web Service tesztelése
JQuery 8. előadás.
Többszálúság a böngészőben, avagy merjünk-e Javascriptben programot írni? Farkas Máté Budapest.js meetup
Verzió 1.1.  Propszt István (csoportfelelős)  Resz János-Antal  Rusz Erzsébet  Varga Anita.
Flex: csak rugalmasan! Kiss-Tóth Marcell Magyarországi Web Konferencia március 18.
Új online technológiák: lehetőségek és kihívások Kerese István Fejlesztési platform üzletág igazgató Microsoft Magyarország
SZENT ISTVÁN EGYETEM GAZDASÁG- ÉS TÁRSADALOMTUDOMÁNYI KAR AUTO- SZŰRŐ FEJLESZTÉSE TÁBLÁZAT ALAPÚ JELENTÉSEK UTÓLAGOS, BÖNGÉSZŐN BELÜLI TOVÁBB- FELDOLGOZÁSÁRA.
Felhasználói felületek és üzleti logika Bollobás Dávid ASP.NET
C++ programozási nyelv Gyakorlat hét
SZENT ISTVÁN EGYETEM GAZDASÁG- ÉS TÁRSADALOMTUDOMÁNYI KAR KUTATÓK ÉJSZAKÁJA SZEPTEMBER 24. AUTO-SZŰRŐ FEJLESZTÉSE OLAP JELENTÉSEK UTÓLAGOS, OFFLINE.
SZENT ISTVÁN EGYETEM GAZDASÁG- ÉS TÁRSADALOMTUDOMÁNYI KAR TUDOMÁNYOS DIÁKKÖRI KONFERENCIA NOVEMBER 25. AUTO-SZŰRŐ FEJLESZTÉSE OLAP JELENTÉSEK UTÓLAGOS,
Felhasználói felületek és üzleti logika Bollobás Dávid ASP.NET
HTML5 alapú fejlesztő és futtató környezet megvalósítása
Az MVC tervezési minta 2. előadás.
Webes java technológiák 2011
mLearning megoldások Moodle környezetben
Iratkezelő rendszer fejlesztése WPF alapokon
2 Forrás: The Standish Group International, Extreme Chaos, The Standish Group International, Inc., 2000.
ASP.NET MVC 3 platform áttekintés
Mérés és adatgyűjtés laboratóriumi gyakorlat Makan Gergely, Mingesz Róbert, Nagy Tamás 2. óra szeptember 9., 10. v
Ember László Irfanview, GIMP, OpenOffice, VLC, FreeCommander, Firefox, Thunderbird, Mplayer, Safari, Opera.
Ember László XUBUNTU Linux (ami majdnem UBUNTU) Ötödik nekifutás 192 MB RAM és 3 GB HDD erőforrásokkal.
JSP és JavaBean JavaServer Pages és Java Beans Fabók Zsolt Általános Informatikai Tanszék Miskolci Egyetem.
Közös kinézet Mester oldal, témák, skin-ek, css Webalkalkalmazás fejlesztése ASP.NET-ben Krizsán Zoltán.
Szmetankó Gábor Greencode Kft.
Előadó: Kárpáti Péter Üzleti folyamatvezérlés nagyvállalati környezetben (BizTalk Server 2004, Office InfoPath 2003 és Windows.
Egyszerű webes alkalmazás fejlesztése Készítette: Simon Nándor.
Egyszerű webes alkalmazás fejlesztése
SZENT ISTVÁN EGYETEM GAZDASÁG- ÉS TÁRSADALOMTUDOMÁNYI KAR TUDOMÁNYOS DIÁKKÖRI KONFERENCIA NOVEMBER 25. AUTO-SZŰRŐ FEJLESZTÉSE OLAP JELENTÉSEK UTÓLAGOS,
Rendszeren belül és kívül. Segítség először  Bele a mélyvízbe vagy számoljunk el 10-ig?  Mérjük fel, mit szeretnénk csinálni, gyűjtsük össze kérdéseinket!
Orovecz János Tartalomjegyzék  Az Ajax története  HTTP-kérések és válaszok  XMLHttp-kérések  Egyéb Ajax technika  XML.
ARCHITECTArchitect AcademyFoundationsInsidersMCPtréningekvizsgákgyakorlatprojektek Novák István eEvangelist – „Dive deeper” Grepton Zrt. Technológiai vezető.
Az AJAX technológia használata Ez az előadó neve beosztása vállalata.
Bátyai Krisztián NetAcademia Oktatóközpont oktató, fejlesztő MCT, MCPD
Vezérlők használata és írása Ez az előadó neve beosztása vállalata.
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
Az Interneten az állományok mozgatására leggyakrabban az FTP program használatos. Az FTP felhasználók általában az alábbi funkciókkal rendelkeznek: kapcsolódás.
Virág András MSDN Kompetencia Központ Budapesti Műszaki és Gazdaságtudományi Egyetem Automatizálási és Alkalmazott Informatikai Tanszék.
Készítette: Gocsál Ákos, Gocsál Klára, Fehér Péter 1 A program megvalósulását az Apertus Közalapítvány támogatta. Internet az oktatásban – taneszközök.
Bevezetés a PRADO keretrendszerbe Kardos Gergely.
Weboldal tervezés programozó szemmel. Alapok Minden webcím www. –tal kezdődikMinden webcím www. –tal kezdődik Webböngésző = Internet ExplorerWebböngésző.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Mobilra optimalizált webáruházak, avagy felkészülés az új évtizedre Zajdó Csaba.
APEX BMF, II. félév.
3. előadás.  Apache szerver tudnivalók  Az index.php .htaccess – web-szerverünk beállításai  Konfigurációs állományok  Adatbázis kapcsolódás beállítása.
Horváth András NetVisor zrt.
HTML5 alapú fejlesztő és futtató környezet megvalósítása
Rittling Tamás Mobiltelefonnal támogatott kézigyógyszertár 24/1.
Objektumvezérelt rendszerek tervezése
1. Főoldal Letisztult minimális dizájn a gyorsabb betöltés érdekében Legújabb képek.
Nádai Gábor előadása INTERNETES KONFERENCIASZERVEZÉS GDF TDK 2009 – Konzulens: Kaczur Sándor.
WEBSTAR CSOPORT WC S ADATBÁZIS VERZIÓKÖVETÉSE: LIQUIBASE Marics Tamás június 20.
Objektumvezérelt rendszerek tervezése 5.óra – Singleton, Visitor, Abstract Factory © Nagy Csaba.
Térképes Alkalmazásfejlesztés Firefox OS rendszeren.
Egy keretrendszer bevezetése Affentáller László MarkCon Informatikai Kft.
Fejlett Programozási Technológiák II. 2009, Nagy Csaba JSP – Java Server Pages.
Hogyan készítheti el egy laikus egy nap alatt az INFOÉRA konferencia programlistázó és értékelő mobilalkalmazását? Menyhárt László Gábor Zamárdi,
Objektumorientált alapjai ISZAM III.évf. részére Bunkóczi László.
Készítette: Derecskei Nikolett
Informatikai gyakorlatok 11. évfolyam
ILIAS ILIAS OpenSource e-Learning keretrendszer Előadó: Baranyi Tamás IRM Oktatási Főigazgatóság
UML használata a fejlesztésben, illetve a Visual Studio 2010-ben
Neumann János Informatikai Kar
YUI február YUI szeptember YUI3
Kulcsrakész Közgyűjteményi Portál
CONNECTRA rendszer bevezetése
Előadás másolata:

Ext JS Kárász István 2014

Natív JavaScript problémái OOP megvalósítása nehézkes Konstruktorok Prototype AJAX hívások bonyolultak Cross-browser problémák ECMAScript szabvány különböző implementációi Minden böngésző más “extrák”-at tett elérhetővé Bizonyos függvények más-más néven érhetőek el

Megoldások Könyvtárak (library) – Különböző funkciókkal “bővítik” a beépített típusokat, biztosítják a böngésző függetlenséget. Animációk létrehozását könnyítik meg jQuery, YUI Library (Yahoo!), Underscore.js, Prototype Keretrendszerek (framework) – komplex alkalmazások fejlesztésére szolgálnak, biztosítják a könyvtárak által nyújtott előnyöket, megkönnyítik az OOP fejlesztést, gyakran megvalósítanak különböző design patterneket Backbone.js, AngularJS (Google Inc.), Ember.js, Ext JS (Sencha Inc.) JavaScript “fölé” épített nyelvek – melyeket natív JavaScriptre fordít a böngésző, vagy egyéb fordító program Dart (Google Inc.), CoffeeScript

Sencha Inc. (2007) 2010 június: jQTouch (jQuery plugin mobil eszközökhöz), Raphaël (Vektorgrafika) beolvad – Sencha Labs A “korszerű web” mellett elkötelezett cég Konferenciák HTML5 Sencha Labs Termékek Ext JS – RIA keretrendszer Sencha Touch – Mobil alkalmazások fejlesztéséhez Sencha GXT – Google Web Toolkit Sencha Architect – Grafikus fejlesztői felület Sencha termékekhez

Ext JS Az Ext JS piacvezető keretrendszer a üzleti webalkalmazások területén. Több száz komponenssel, részletes dokumentációval és rengeteg példa alkalmazással segíti a fejlesztők munkáját. Biztosítja az eszközöket egy robosztus asztali alkalmazás fejlesztéséhez a legújabb verzióban bevezetett MVC arhitekrúrájával. Mit is jelentenek a üzleti webalkalmazások? Adminisztrációs felületek, “Asztal a böngészőben” Diagramok, Táblázatok, Űrlapok A többi keretrendszer, könyvtár nyújtotta lehetőségek 95%-a megvan benne. (animációk, típusok bővítése, ajax, grafikus elemek) Példák, demók

Előnyök Böngésző független Internet Explorer 6+  Firefox 3.6+ (PC, Mac)  Safari 4+  Chrome 10+  Opera 11+ (PC, Mac) Generált html (nem nekünk kell a statikus keretet megcsinálni) Hatékony html template kezelés – ha mégis kell html Testreszabható megjelenés (sass) – sencha cmd Példák, videók, közösség, részletes dokumentáció Névterek, rengeteg osztály, átlátható hierarhia Bővíthető

Hátrányok Lassú Hatalmas Drága Nagy rendszerek fejlesztéséhez készült! A DOM generálás lassú, költséges “windowresize”-ra, majdnem az egész layout-ot újra számítja Hatalmas jQuery ~33.7KB, Ext JS ~440KB Drága 1 fejlesztőnek $595 20 fejlesztőnek már $11,185 jQuery, AngularJS ingyenes Nagy rendszerek fejlesztéséhez készült! Kis oldalakhoz ext-core (4.0-tól megszűnt az MIT License)

Történeti áttekintés 2007 eleje: 1.0 2007. december: 2.0 2009: 3.0 YUI-hoz készült add-on 2007. december: 2.0 Asztali megjelenés 2009: 3.0 Új komponensek 2011: 4.0 MVC, SVG, VML, teljesen átalakított osztályok Napjaink 2 millió < fejlesztő Citi, Visa, Airbus, Boeing, Samsung, Cisco, Microsoft, Oracle, US Army, NATO, T-Mobile, Siemens, stb.

Ext JS 4.0 Alaposan megtervezett “Data” csomag 50 új osztály MVC Model Proxy Store 50 új osztály MVC Xtemplate teljesen újragondolva Chartok AutoLoader

Alapok Ext – globális singleton objektum Ext.Array - singleton Config: enableGarbageCollector, enableNestedListenerRemoval… Böngésző: isIE, isIE6, isChrome, isFF, isOpera, isSafari, isWebkit… Operációs rendszer: isWindows, isLinux, isMac Változó ellenőrzés: isArray(), isString(), isNumber(), isIterable()… Ext.Array - singleton each(), filter(), indexOf(), min(), max(), sort() Halmazműveletek: union(), intersect(), unique() Ext.AJAX - singleton request(), abort(), abortAll()

DOM manipuláció Ext.Element DOM elem lekérése: Ext.get(id/element), Ext.fly(id/element) Ext.DomQuery – singleton Ext.DomHelper – Singleton

Ext.Element DOM elemeket reprezentálnak Eseménykezelés Manipuláció 35 különböző event (böngésző függő) on, un, addListener, removeListener, removeAllListener Manipuláció setStyle(), addCls(), removeCls() destroy(), remove(), update() DOM Traversing child(), first(), select(), query(), parent(), findParent(), next(), prev() insertHtml(), insertBefore(), insertAfter(), appendChild()

Új elem létrehozása Ext.DomHelper segítségével – Singleton append(), insertBefore(), insertAfter()

XTemplate DOM elemek sablonjai Ciklus, elágazás xindex, xcount, values… Belső függvények

Objektumok létrehozása Ext.create(‘class’, options) – Ext.getClass(component), instanceof Ha nincs ilyen, megpróbálja betölteni - autoloader Items: gyakorlatilag egy JSON objektum alapján példányosít. Szerver oldalon konfigurálható – jogosultság kezelés

Saját osztályok definiálása Extend Öröklődés – egyszeres Requires Autoloader Példányosítás előtt Fájl betöltésekor? Constructor Statics Singleton

MVC Struktúra nem kötelező – javasolt Model View Controller Sencha CMD Mező-érték gyüjtemények. A data csomagra épül. Asszociációkkal kapcsolhatóak össze. View Az Ext.Component leszármazottai Controller Az alkalmazás “logikáját” megvalósító osztályok, modelek példányosítása, viewk kezelése.

App.js Az alkalmazás objektuma Globális beállítások Az alkalmazás névtere Az autoloader-nek beállítja a mappát launch() – automatikusan meghívódik, mikor minden betöltődött Számontartja a controllereket, modeleket és viewkat

Controller létrehozása Az alkalmazás működési logikáját írják le. Figyelnek a view-k eseményeire és ezek függvéyében végeznek műveleteket. Mivel az App.js-ben regisztráltuk, az initet meghívja automatikusan az alkalmazás. this.control() segítségével feliratkozhatunk egy css selectornak megfelelő minden komponens eseményeire.

Userek kilistázása Viewk általában a Component leszármazottai. Regisztráljuk a controller ‘views‘ adattagjában – xtype Rendereljük az App launch fv-ben

A view kezelése

Modelek és Storeok Mezők halmazai - A modelek objektumokat reprezentálnak, amiket az alkalmazásban kezelni szeretnénk. associations hasMany belongsTo validations idProperty Kliens oldali cache Modelek által leírt objektumok példányai Proxy-kal tölti le/fel az adatokat Lapozás Rendezés Szűrés

A Model és Store létrehozása Létrehozzuk a Storet és a Modelt Regisztáljuk ezeket a Controllerben Megadjuk a gridnek (View), hogy melyik Storeból kell dolgoznia

Kommunikáció a szerverrel Proxy adattag Honnan olvasson, hová írjon A választ hogyan értelmezze Automatikusan töltse le az adatokat, vagy kódból hívjuk-e a load()-ot sync()

Demók Az előbb elkészített: http://docs-origin.sencha.com/extjs/4.2.2/extjs- build/examples/app/simple/simple.html Asztal a böngészőben: http://docs.sencha.com/extjs/4.2.2/extjs- build/examples/desktop/desktop.html További példa programok: http://docs.sencha.com/extjs/4.2.2/#!/example

Érdekességek Grid Renderer Soap TreeView Drag’n’Drop Blog példa Ext.draw csomag

Kérdések ikarasz@outlook.com

Teszt kérdések Mire való az ‘Ext.create’ fv? Hogyan definiálhatok statikus adattagokat? Mire való a Modelek ‘belongsTo’ beállítása?