Vývojová platforma Mozilla David Majda, CZilla 12. 4. 2005 — LinuxExpo 2006, Praha.

Slides:



Advertisements
Podobné prezentace
Web Michal Žůrek Jak se na něj dívám já..
Advertisements

Systém Drupal a nejen školní weby
Webové rozhraní pro datové úložiště
Mozilla pro vývojáře David Majda LinuxExpo 2005, Praha.
Úvod do platformy Java EE
Ing. David Pejčoch Tutorial
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
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:
Software – aplikace, programy
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)
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.
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í
ENCYKLOPEDIE FORMULE 1 Stanislav Kolman 4.B 2013/
Jako intranet Bc. Jan Beneš. Intranet - obecná funkcionalita  sdílení dokumentů  diskusní fórum  databáze kontaktů  novinky a aktuality  firemní.
Vít PÁSZTO - Katedra geoinformatiky PřF UP Olomouc
Vývoj aplikací pro SharePoint
Tomáš Urych, ESO9 Intranet a.s.
Metainformační systém založený na XML Autor: Josef Mikloš Vedoucí práce: Ing. Jan Růžička, Ph.D. V/2004.
David Kratochvíl. * Linux – označení pro operační systém (OS) * 1,3 milionu mobilních zařízení s Androidem aktivováno každý den * Většina ze TV.
* Slouží pro vytváření a úpravu textových dokumentů. * Dnešní pokročilé textové procesory umožňují do dokumentu vkládat kromě textu i obrázky, videa,
Použití ExtJs pro tvorbu administračních rozhraní Dušan Juhás.
Walter Schorge Archa – Open Source archivní informační systém v NTM Archivy, knihovny a muzea v digitálním světě
Mozilla z pohledu vývojáře David Majda, CZilla — prezentace na předmět Linux (SWI043) na MFF UK.
Představení nové verze OPSI Kamil Malinka Martin Lebeda PROJEKT financovaný z Operačního programu Vzdělávání pro konkurenceschopnost ZVYŠOVÁNÍ IT GRAMOTNOSTI.
MAPGUIDE OPEN SOURCE - MAPOVÝ SERVER Student: Bc. Martin Soukup Předmět: GEIS Přednášející : R NDr. Tomáš Vaníček, P hD. Datum: Web:
AJAX nejmodernější webová technologie… seminář pro učitele ZŠ a SŠ Mgr. Marek Osuchowski Ostravská univerzita © 2011.
Webmatrix Štěpán Bechynský (Developer Evangelist, Microsoft)
Copyright (C) 2000 Vema, a. s.1 V3 klient Michal Máčel Provozní integrace G2, HR/Win a internetu.
Novinky pro webovou platformu Jiří Burian, Tomáš Kutěj,
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ů
Citect SCADA 7.30 ADO.NET 2013/04 Petr Zima.
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.
Internet Explorer 8 Štěpán Bechynský Developer Evangelist Microsoft s.r.o.
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í.
Windows 7 & Internet Explorer 8 vývoj aplikací a kompatibilita Štěpán Bechynský, Ondřej Štrba Developer Evangelists
IDEA Web Systém 5.0 Pavel Bezstarosti IDEA spol. s r.o
OPERAČNÍ SYSTÉMY.
PHP Programy pro tvorbu WWW stránek - 01
INTERNETOVÉ ŘEŠENÍ ÚZEMNÍHO PLÁNU MĚSTA NÁMĚŠŤ NAD OSLAVOU Vedoucí práce: doc. RNDr. Vít Voženílek, CSc. Univerzita Palackého v Olomouci Přírodovědecká.
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. -
KDE – Lukáš Tinkl - KDE – desktop pro uživatele i vývojáře Lukáš Tinkl
XML a datový standard Zdeněk Jirkovec Softwarové Aplikace a systémy.
Prezentace výsledku projektu k předmětu OSP
Programování mikropočítačů Platforma Arduino
školák Piš a sdílej své sešity, jednoduše, rychle, v pohodě.
Operační Systém Operační systém je v informatice základní programové vybavení počítače (tj. software), které je zavedeno do paměti počítače při jeho.
Vlastnosti souborů Jaroslava Černá.
Značkovací jazyky XSL (eXtensible Stylesheet Language)
OSP semestrální práce Pavel Mrázek
Webový prohlížeč Michal Černý
TNPW1 JavaScript Ing. Jiří Štěpánek.
VYUŽITÍ ARCGIS API FOR JAVASCRIPT PRO PUBLIKACI MAPOVÝCH SLUŽEB ÚRM
NÁZEV ŠKOLY: Základní škola Josefa Bublíka, Bánov
Webové aplikace Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Jitka Vlčková. Dostupné z Metodického portálu ISSN
DirectX Jan Kotrouš PGC3.
Transkript prezentace:

Vývojová platforma Mozilla David Majda, CZilla — LinuxExpo 2006, Praha

Cíle této prezentace představení platformy Mozilla –architektura, technologie vývoj pod Mozillou v současnosti –rozšíření existujících aplikací –nové aplikace vývoj pod Mozillou v (blízké) budoucnosti –XULRunner –další „lákadla“

Aplikace všichni jistě znáte Firefox, Thunderbird, Mozilla Suite, SeaMonkey, Nvu, Sunbird… jak vypadají uvnitř?

Architektura aplikací Mozilly (1/2) Cíle –multiplatformnost (backend, GUI) –výkon –rychlý a snadný vývoj GUI Řešení = rozvrstvení –nejnižší vrstva zajišťující cross- platformnost –komponenty v C/C++ (hlavní funkcionalita) –GUI deklarativně v XML

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

Příklad XUL demo.xul demo.js <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window id="demo-window" title="XUL Demo" xmlns=" gatekeeper/there.is.only.xul"> <script type="application/x-javascript" src="demo.js" /> function deleteText() { document.getElementById("text").value = ""; }

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í ale –stále závislé na původní aplikaci (Firefox) –vlastní aplikace = náročné –řešení: XULRunner

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

Co vše poskytuje XULRunner? instalace a spouštění XUL aplikací na Windows, Linuxu a Mac OS X automatické updatování aplikací, rozšiřování API pro práci se sítí, kryptografii,… vše z Gecka: (X)HTML, XUL, XBL, XSLT, SVG, DOM,… standardní UI prvky pro různé platformy (např. okno pro otevření souboru) integrovaný SQLite  bohatá sada nástrojů pro vývoj aplikací

Aplikace v XULRunneru application/ application.ini components/ … chrome/ … application.exe xulrunner/ … [App] Vendor=company Name=applicationName Version=1.0 BuildID= [Gecko] MinVersion=1.8 MaxVersion=1.8 jen přejmenovaný xulrunner-stub.exe

XULRunner Roadmap Dnes: XULRunner ~ Firefox –stabilní developer preview, není funkčně kompletní – , ,… Konec 2006: XULRunner ~ Firefox 2.0 –instalace/odinsalace a upgrade aplikací Počátek 2007: XULRunner 1.9 –používán Firefoxem 3.0 –plně funkční

První aplikace: Songbird open source přehrávač médií, alternativa k iTunes verze 0.1 (únor 2006) –Windows, Linux –již 39 lokalizací (!)

Další lákadla vývoje pod Mozillou tag vylepšení JavaScriptu E4X integrace Pythonu

JavaScript 1.6 a dál… Nyní (JS 1.6) –funkcionální programování map, filter, indexOf, forEach Rozpracováno –generátory, iterátory à la Python Budoucnost –podpora větších projektů –lepší práce s datovými typy?

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

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; }

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?