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

Slides:



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

Systém Drupal a nejen školní weby
Mozilla pro vývojáře David Majda LinuxExpo 2005, Praha.
Úvod do platformy Java EE
Tvorba WWW stránek ÚVOD
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
Průvodce pro prostorové dotazy v systému PostGIS (plugin pro OpenJUMP) Vedoucí: Ing. Jan Růžička.Ph.D. Konzultant: Ing. Aleš Daněk Diplomová práce.
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.
Operační systémy Windows, Linux a Mac OS X Přehled vývoje
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.
Moderní formy tvorby webových stránek Martin Šebela, 9.A vedoucí práce: Mgr. Jan Kříž.
Maturitní okruh č. 7. Odstínit aplikace od specifik HWSpráva procesůSpráva pamětiSpráva souborůSpráva vstupů a výstupůSpráva sítěSystém ochrany a bezpečnostiSystém.
Štěpán Lískovec, 4.A.  =základní programové vybavení počítače (tj.software)  hlavní úkol:  A, zajistit uživateli možnost ovládat PC  B, vytvořit pro.
Vývoj aplikací pro SharePoint
Informatika I 7. a 8. hodina 4. týden. Operační systémy I Operační systém (dále také OS) je základní programové vybavení počítače (SW), které je zavedeno.
Úvod. školní: příprava na předmět Databázové systémy praktický: webové aplikace databázové systémy základy vývoje webových aplikací od návrhu databáze.
Návrh a tvorba WWW Přednáška 1
Jaroslav Šnajberk, Přemek Brada
Operační systémy.
SDRUK-IT Možnosti využití programového vybavení WebArchivu dalšími subjekty Ing. Petr Žabička, MZK.
Internet.
C# - Úvod Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
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.
Dodržujeme webové standardy Štěpán Bechynský Developer Evangelist Microsoft
Internetový prohlížeč
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:
Web 2.0 Štěpán Bechynský Microsoft. Web 2.0 aplikace.
WEBOVÉ PROHLÍŽEČE VLADIMÍR PASTOREK 1.ITa.  Webové prohlížeče = pomyslné oko internetu  Flamewars  Rok počátek  MidasWWW a ViolaWWW  Netscape.
AJAX nejmodernější webová technologie… seminář pro učitele ZŠ a SŠ Mgr. Marek Osuchowski Ostravská univerzita © 2011.
DIGITÁLNÍ UČEBNÍ MATERIÁL Číslo projektuCZ.1.07/1.5.00/ Název projektuEU peníze středním školám Masarykova OA Jičín Název školyMASARYKOVA OBCHODNÍ.
Gymnázium, Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Hodonín Operační systémy.
Aplikační programy, programovací jazyky, formáty datových souborů
Otevřené datové formáty a standardy
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.
Internetové publikování Doc. Ing. Petr Zámostný, Ph.D. místnost: A-72a tel.: 4222, 4167 (sekretariát ústavu 111)
Robert Hernady Regional Solution Architect Microsoft.
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í.
Programování POCSI. Programovani/POCSI2 Základní pojmy Akce - děj nad objekty, mající začátek a konec, a mající přesně definovaný účinek. Příkaz - popis.
Vývojová platforma Mozilla David Majda, CZilla — LinuxExpo 2006, Praha.
OPERAČNÍ SYSTÉMY.
Operační systémy Windows, Linux a Mac OS X Přehled vývoje
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á.
Marcel Ondráček Martin Kasalý Petr Hanych.  je počítačový program, který slouží k prohlížení World Wide Webu  Program umožňuje komunikaci s HTTP serverem.
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.
Grafika Kateřina Šebestová Grafika Druh výtvarného umění Více exponátů stále originály Vznik 6. století v Číně 868 první kniha 13. století tisk na plátno.
WebOS – operační systém (nejen) pro mobilní přístroje Lukáš Jelínek AIKEN s.r.o. -
Tvorba WWW stránek. Hyperlink Odkaz, bývá označený jinou barvou a podtržený Odkaz, bývá označený jinou barvou a podtržený Reaguje na událost myši – Reaguje.
KDE – Lukáš Tinkl - KDE – desktop pro uživatele i vývojáře Lukáš Tinkl
EU peníze školám Registrační číslo projektu CZ.1.07/1.4.00/ Název projektu Inovace školství Šablona - název Inovace a zkvalitnění výuky prostřednictvím.
AS/400 (IBM iSeries) Úvod. Co vlastně je AS/400 (IBM i)? Aplikační systém 400 (AS/400) byl navržen jako počítač obecně použitelný v obchodním prostředí.
.NET framework platforma Jiří Pokorný
Internetový prohlížeč
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.
Programovací jazyk JavaScript
Programovací jazyk JavaScript
OSP semestrální práce Pavel Mrázek
Webový prohlížeč Michal Černý
Web Application Scanning
Tvorba webových stránek
Desktopové aplikace na .NET Core
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ů) dnes příště

Historie (1/2) kdysi v pravěku – Netscape Navigator 1.0–4.x nástup IE  problémy  uvolnění Netscape jako open source (Mozilla.org) použitá licence MPL – lze začlenit i do komerčních aplikací přepsání téměř celého kódu –renderovací jádro Gecko –aplikační platforma –prohlížeč Mozilla Suite : Mozilla Suite 1.0

Historie (2/2) 2003: vznik Mozilla Foundation rozhodnutí rozčlenit monolitickou aplikaci na části – Firefox, Thunderbird podzim 2004: FF/TB : vznik Mozilla Corporation dnes: –aplikace ve verzi , pracuje se na 2.0 a 3.0 –Firefox v ČR a Evropě podíl ~20 %, v USA ~10 %

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++

NSPR – představení Netscape Portable Runtime low-level knihovna napsaná v C abstrakce nad jednotlivými OS (běží ve Win32, Mac OS, 20+ Unixů) převzata ze starého Netscape Navigatoru zkompilovatelná samostatně, lze použít mimo Mozillu

NSPR – co umí? portabilní datové typy a makra (např. 64bitovost) vlákna, synchronizace I/O nad soubory základní síťové funkce datum a čas správa paměti načítání dynamicky linkovaných knihoven (DLL/.so)

JavaScript Engine interpreter JavaScriptu 1.6 (nadmnožina standardu ECMA 262 Edition 3 - ECMAScript) autor jazyka i interpreteru = Brendan Eich napsaný v C, vysoce optimalizovaný nezávislý na ostatním kódu, lze zkompilovat samostatně stále se vyvíjí – viz příště

XPCOM – představení Cross Platform Component Object Model obdoba Microsoft COM/DCOM nebo CORBA, ale in-process tvorba komponent, modularizace popis rozhraní komponenty v XPIDL (dialekt IDL) implementace typicky v C++ (generované hlavičky a šablony kódu), možno i v JavaScriptu (XPConnect)

XPCOM – vznik komponenty MyComponent.idl xpidl MyComponent.h (+ impl. stub) MyComponent.xpt MyComponent.cpp MyComponent.so MyComponent.dll cc součást výsledné aplikace

XPConnect umožňuje nezávislost XPCOM na jazyku typicky: objekt implementován v C++, volán z JavaScriptu (takto vystavěn celý DOM) ošetřuje volací konvence, typy parametrů,… řeší object lifecycle (XPCOM – reference counting, JS – garbage collector)

Gecko nejvyspělejší renderovací engine na světě: –HTML 4.01, XHTML 1.0/1.1, XML 1.0, MathML, SVG 1.0 (1.1), XUL –CSS 1 (2, 3) –DOM 1, 2 (3) –JavaScript 1.6 –PNG, GIF a JPEG –Unicode, podpora L10N/I18N –RDF –Necko (HTTP 1.1, FTP, POP3, IMAP,…) –a další…

Další renderovací enginy Presto (Opera) –šlape Gecku na paty, velmi rychlý KHTML (Konqueror) –podpora menšího množství vlastností WebCore (Safari) –fork KHTML, vyvíjeno Applem Tasman (IE Mac) –dříve velmi dobrý, dnes zastaralý Trident (IE Windows) –starý, „nic“ neumí a ještě s chybami on_of_layout_engineshttp://en.wikipedia.org/wiki/Comparis on_of_layout_engines 

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í Zde začneme příště

Dotazy?