Mozilla z pohledu vývojáře David Majda, CZilla 2. 5. 2006 — prezentace na předmět Linux (SWI043) na MFF UK.

Slides:



Advertisements
Podobné prezentace
Základy HTML – vkládání objektů
Advertisements

Web Michal Žůrek Jak se na něj dívám já..
Systém Drupal a nejen školní weby
Webové rozhraní pro datové úložiště
Webové služby nad IS/STAG 1 / 21 Seminář IS/STAG Kunžak 2008 Seminář IS/STAG – Kunžak 2008 Webové služby nad IS/STAG Lukáš Valenta.
Mozilla pro vývojáře David Majda LinuxExpo 2005, Praha.
Vývoj aplikací s využitím JavaFX
Technologie pro publikování na webu 1 Ing. Jiří Štěpánek.
Tvorba WWW stránek ÚVOD
Martin Holý.  HTML  xHTML  CSS  JavaScript  PHP.
Ing. Jan Mittner Profiling aplikací 2. Zend_Cache 3. Optimalizace výkonu databáze 4. Optimalizace rychlosti načítání webu 5. Další tipy.
Rozšíření systému pro zátěžové testy o SOAP a agenty Zbyněk Pyšný.
Microsoft Silverlight
Internetový (webový) prohlížeč. Druhy prohlížečů 1. byl v roce 1993 NCSA Mosaic Následovaly další … Netscape 1.0 Netscape 2.0 Netscape 3 Gold Zdroj:
Workflow Foundation Základy a architektura
Modelování procesů pomocí workflow
Webová aplikace.  Úvod  Možnosti vývoje (komponenty, které dokážeme nabídnout) + ukázka  Možnosti využití Frameworku pro těžkého klienta  Výrobní.
Programová rozhraní pro grafické adaptéry
„Programátor by měl být v prvé řadě líný.“. PIFovo Web API (API = Application Programming Interface)
TVORBA WEBOVÝCH STRÁNEK
Návrh architektury moderních informačních systémů
Tomáš Pijáček, PIJ006.  CSS – Cascading Style Sheets  Jazyk pro popis způsobu zobrazení stránek napsaných v jazycích HTML, XHTML, XML  Oddělení vzhledu.
NÁZEV ŠKOLY: Základní škola Nový Jičín, Komenského 66, p. o
Adobe Dreamweaver CS4 Ing. Martin Dosedla.
Tvorba webů pomocí Web CMS Michal Neuwirth Product Manager Kentico Software s.r.o. Ondřej Výšek Samostatný konzultant Optimalizovane-it.
Tvorba webových aplikací
Procvičování vzorce.
Přehled dalších vlastností
PHP – Základy programování
SDRUK-IT Možnosti využití programového vybavení WebArchivu dalšími subjekty Ing. Petr Žabička, MZK.
JIRA školení.
Metainformační systém založený na XML Autor: Josef Mikloš Vedoucí práce: Ing. Jan Růžička, Ph.D. V/2004.
WebMathematica MathMl.CDF aneb ZASE JEDEN POVEDENÝ PROJEKT Petr Bělaška OA aVOŠE Zlín.
Walter Schorge Archa – Open Source archivní informační systém v NTM Archivy, knihovny a muzea v digitálním světě
Dokumentace objektů a zveřejnění funkcí
Autor: Jakub Dubrovský www:  Analýza procesu kontroly silnic  Získat data z GPS  Zobrazit data na mapě  Odesílat data do GPS  Vytvoření.
Internet.  Celosvětový systém propojených počítačů  Funkce  Sdílení dat  Elektronická pošta.
AJAX nejmodernější webová technologie… seminář pro učitele ZŠ a SŠ Mgr. Marek Osuchowski Ostravská univerzita © 2011.
Copyright (C) 2000 Vema, a. s.1 V3 klient Michal Máčel Provozní integrace G2, HR/Win a internetu.
uložené procedury (stored procedures) triggery, sekvence, pohledy, funkce, parametrické dotazy (prepared statements) komplexní agregace a SQL dotazy jiné.
HTML 5 a CSS 3.
Mozilla z pohledu vývojáře David Majda, CZilla — prezentace na předmět Linux (SWI043) na MFF UK.
Aplikační programy, programovací jazyky, formáty datových souborů
Redakční systém dopravní informace pro státní správu ISSS 4. dubna 2006.
Bezbariérové mapy ZČU bezbariérově pomocí SVG?
123.
Autor: Vladislav Svozilík Vedoucí : RNDr. Daniela Szturcová, Ph.D.
Import záznamů diplomových prací nové řešení Antonín Vaishar, SUAleph, 26. –
Tvorba efektních www stránek pro každého Od historie až po současnost… Úvod Porovnání Validace Prohlížeče Závěr.
Kamasová Silvie 9.C. Mozilla firefox Rychlejší prohlížení webu Blokování vyskakovacích oken Prohlížení stránek v panelech Snadná změna vzhledu Intuitivní.
IDEA Web Systém 5.0 Pavel Bezstarosti IDEA spol. s r.o
Vývojová platforma Mozilla David Majda, CZilla — LinuxExpo 2006, Praha.
Microsoft SQL server Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
PHP Programy pro tvorbu WWW stránek - 01
Web services. Co jsou webservices Součinná spolupráce počítačů v síti Technologie pro vzdálené volání procedur (RPC) Nezávislá na platformě Data v XML.
JavaScript úvod. Jazyky webového vývojáře Dynamická stránka  aktivně mění svůj obsah v reakci na činnost uživatele  zpracování na straně serveru (PHP,
Rezervační systém v prostředí XUL Zdeněk Novák, Petr Ondrejka.
Klient pro správu databází MySQL 1 Klient pro správu databází MySQL Zbyněk Munzar České vysoké učení technické v Praze Fakulta elektrotechnická.
WEBOVÝ PROHLÍŽEČ. Charakteristika: Webový prohlížeč je počítačový program, který slouží k zobrazování a prohlížení World Wide Webu (WWW), tj. internetu.
WebOS – operační systém (nejen) pro mobilní přístroje Lukáš Jelínek AIKEN s.r.o. -
Prezentace výsledku projektu k předmětu OSP
Tvorba webových stránek - tabulka
Vlastnosti souborů Jaroslava Černá.
OSP semestrální práce Pavel Mrázek
Internetové publikování Dynamické HTML
TNPW1 JavaScript Ing. Jiří Štěpánek.
RUBY.
VYUŽITÍ ARCGIS API FOR JAVASCRIPT PRO PUBLIKACI MAPOVÝCH SLUŽEB ÚRM
NÁZEV ŠKOLY: Základní škola Josefa Bublíka, Bánov
Využití všech možností
Transkript prezentace:

Mozilla z pohledu vývojáře David Majda, CZilla — prezentace na předmět Linux (SWI043) na MFF UK

Co se dovíte, aneb osnova historie Mozilly architektura Mozilly tvorba GUI, jazyk XUL jak si napsat rozšíření XULRunner, aneb světlé zítřky několik malých „lákadel“ vývoje po Mozillou (tvorba pluginů) minule dnes

Architektura aplikací Mozilly (2/2) NSPR JavaScript engine XPCOM XPConnect zpracování HTML, CSS, XML, XUL, XBL, RDF C C++ XML JS aplikace – GUIaplikace – komponenty pomocné knihovny (images, DB,…) C++

XUL (čti zůl) XML User Interface Language GUI zapsáno deklarativně v XML –jen jednou pro všechny platformy vzhled v CSS „oživeno“ JavaScriptem jako webové stránky  kdo umí tvořit webové stránky, umí i psát aplikace pod Mozillou

Rozšiřitelnost architektura snadno rozšiřitelná –nové XUL, CSS a JS soubory (bez rekompilace) –nové XPCOM komponenty (typicky nutná kompilace) –pro pohodlí sbalené do XPI balíčku, doplněné metadaty  rozšíření Zde jsme minule skončili

Struktura rozšíření install.rdf chrome.manifest plugins/... components/... chrome/ content/ skin/ locale/

Instalace rozšíření globální × pro konkrétního uživatele mnoho metod: –zkopírování XPI do adresáře extensions –„pointer“ na XPI z tohoto adresáře –záznam v registrech (Windows) –otevření v prohlížeči –… správce rozšíření –instalace/odinstalace –konfigurace, zakazování,…

XULRunner runtime prostředí pro běh XUL aplikací pouze infrastruktura nutná pro běh – XUL a XPCOM komponenty zajišťující funkcionalitu dodává aplikace lze sdílet mezi aplikacemi (ale není nutné) NSPR JavaScript engine XPCOM XPConnect zpracování HTML, CSS, XML, XUL, XBL, RDF C C++ XML JS aplikace – GUIaplikace – komponenty pomocné knihovny (images, DB,…) C++ XULRunner

Další lákadla vývoje pod Mozillou tag vylepšení JavaScriptu –funkcionální programování –E4X –iterátory a generátory (budoucnost) integrace Pythonu (budoucnost)

Tag vyznačuje ve stránce oblast pro kreslení samotné kreslení – JavaScript –bohaté 2D API podobné běžným grafickým toolkitům –umí i průhlednost, gradienty, vzorky, cesty, bézierovy křivky, transformace… vymyslel Apple, nyní pod křídly WHATWG  ukázka

JavaScript 1.6 a dál… (1/3) Funkcionální programování squares = [1, 2, 3].map(Math.sqrt); // [1, 4, 9] filtered = [12, 5, 8, 130, 44].filter( function(element, index, array) { return element >= 10 } ); // [12, 130, 44] function printElement(element, index, array) { alert("[" + index + "] is " + element); } [2, 5, 9].forEach(printElement); // [0] is 2 // [1] is 5 // [2] is 9

JavaScript 1.6 a dál… (2/3) E4X = začlenění syntaxe pro práci v XML/DOM přímo do JavaScriptu function createTable() { // vytvoříme E4X objekt pro dokument var doc = new XML(document); var mytablebody = doc..body.TABLE.TBODY; for (var j = 0; j < 2; j++) { // přidáme prázdný řádek tabulky mytablebody.TR[j] = ""; // přidáme buňky s obsahem for (var i = 0; i < 2; i++) mytablebody.TR[j].TD[i] = "cell is row " + j + ", column " + i; } // nastavíme tabulce hodnotu atributu border = 2; }

JavaScript 1.6 a dál… (3/3) Generátory, iterátory à la Python –JavaScript 1.7 js> function count(n) { for (var i = 0; i < n; i++) yield i; } js> g = count(10) [object Generator] js> g.next() 0 js> g.next() 1 js> two_to_nine = [i for i in g] 2,3,4,5,6,7,8,9 js> squares_to_20 = [i * i for i in count(20)] 0,1,4,9,16,25,36,49,64,81,100,121,144,169,196,225,25 6,289,324,361

Integrace Pythonu důvod: přilákání vývojářů v Pythonu, využití knihoven půjde použít všude, kde dnes JavaScript –XUL, XPCOM,… v Gecko 1.9/Firefox 3.0

Kdy vyvíjet pod Mozillou? Když potřebujete… –multiplatformnost –práci s HTML/XML/CSS –síťové služby, web services –lokalizovatelnost –rychlý vývoj, časté změny –velké aplikace (XPCOM, modularizace) 

Kdy naopak Mozillu nepoužívat? Když chcete… –náročnou grafiku (work in progress) –hrubý výkon (částečně lze v C++ a XPCOM) –využívat všechny možnosti nativního GUI –přístup z kteréhokoliv počítače na světě (lepší je webová aplikace) 

Kam pro další informace –centrum pro vývojáře Mozilly –velké množství dokumentace –wiki = rychlý vývoj, můžete se zapojit –rozcestník v češtině –dokumentace podstatně méně –také se můžete zapojit :-)

Dotazy?