Technologie

Technologie, o kterých se mluví

Google Gears - online aplikace lokálně

Událostí dne je - alespoň dle počtu zmínek - jednoznačně uvolnění Google Gears external. Měl by umožnit online aplikacím přechod do „offline“ - tedy práci s daty, které si uloží na lokální disk.

Google Gears external zatím existují pouze jako plugin do IE a Firefoxu. Adobe ohlásili, že Apollo bude obsahovat podporu Google Gears external. (via Ian T. external)

Gears obsahuje tři části - kromě „offline serveru“, který slouží jako server pro lokální verze stránek, skriptů, obrázků aj. i „lokální databázi“ a „WorkerPool“, což je součást, která umožňuje běh časově náročnějších akcí bez zablokování prohlížeče.

Google Gears external rozhodně stojí za brzké vyzkoušení. Další framework pro JS, o kterém vím, že si může ukládat data lokálně, je dojo external (používá k tomu Flashový objekt).

K tématu též:
Oficiální Gears Blog external
http://jilm.blog.lupa.cz/0705/google-gears-online-aplikace-offline
http://www.ajaxline.com/node/388

HTTP autentifikace - DIGEST

RFC: http://www.ietf.org/rfc/rfc2617.txt

Wikipedia: http://en.wikipedia.org/wiki/Digest_access_authentication

PHP kód: http://www.xiven.com/sourcecode/digestauthentication.php

Microsoft Silverlight - další do ringu k Adobe Flex

Microsoft Silverlight external chce „rozsvítit web“. O co vlastně jde?
Silverlight (dříve WPF/E) je, zjednodušeně řečeno, „něco jako FLASH“. Texhnologie založená na XAML, sloužící k zobrazení vektorové grafiky, streamování videa a návrhu / vývoji aplikací jak pro web, tak pro desktop. Měl by fungovat v různých systémech (zatím Windows a MacOS) a s různými prohlížeči (IE, Firefox, Safari, brzy snad i Opera). Silverlight slibuje mimo jiné i:

- Vyšší kvalitu videa díky kodekům, které jsou založeny na stejných principech jako ty v Blu-Ray a HD-DVD

- Funkčnost v různých OS a prohlížečích. Zatím tedy jen Win a Mac, podporu pro Linux slibuje Mono.

- Zjednodušení spolupráce vývojářů a grafiků

- Zjednodušení streamu videa - na rozdíl od streamování FLASH videa si Silverlight vystačí s IIS a Windows serverem.

- Podporu jiných programovacích jazyků. Silverlight by měl být použitelný z Ruby, Pythonu i JavaScriptu.

- Zabudovanou podporu webových služeb. Silverlight podporuje LINQ a LINQ-to-XML a k veškerým datům je možno přistupovat přes RSS, REST, JSON či POX

- Ochranu multimediálního obsahu (i když si o tom mohu myslet své)

- Zrychlení stránek oproti AJAXovým řešením.

Inu, jsem zvědav na největší vývojářský projekt Microsoftu od spuštění platformy .NET.

OpenID

Informace o technologii OpenID

OpenID is an open, decentralized, free framework for user-centric digital identity.

OpenID je otevřený. K dispozici jsou zdrojové kódy pro servery i pro klienty v nejrůznějších jazycích
OpenID je decentralizovaný. Není jeden centrální server, je zcela na vás, který si vyberete.
OpenID je „free“. Nikomu se nic neplatí ani za používání OpenID, ani za použití technologie jako takové.

Hlavní stránka: http://openid.net/
OpenID na Wikipedii: http://en.wikipedia.org/wiki/OpenID
Implementace OpenID: http://www.openidenabled.com/
Knihovny pro OpenID: http://www.openidenabled.com/openid/libraries/

Informace česky: http://mozek.cz/info/openid

Články o OpenID v češtině:
Misantropův zápisník: http://zapisnik.maly.cz/493148-co-to-je-openid.php
Bloguje.cz: http://zapisnik.maly.cz/493002-bloguje-cz-implementovalo-technologii-ope...

OpenID servery:
http://www.myopenid.com/
http://www.openid.cz/

REST

REST: Representational_State_Transfer

Wikipedia: http://en.wikipedia.org/wiki/Representational_State_Transfer

Další informace: http://bitworking.org/news/How_to_create_a_REST_Protocol

Citace z http://zapisnik.maly.cz/481925-api-a-php-dil-druhy.php

REST nahlíží na webovou službu jako na souhrn zdrojů dat (resources), z nichž každý má svou URL a požadovaná operace je určena typem HTTP požadavku. Příklad:

http://www.mlp.cz/pepa/notes/ – poznámky uživatele „pepa“
http://www.mlp.cz/pepa/notes/42 – poznámka 42 uživatele „pepa“

Pokud chce klient získat informaci z daného zdroje, pošle HTTP požadavek GET na dané URL. Pokud chce klient vytvořit data, pošle požadavek POST. Požadavkem DELETE vybraný zdroj smaže a požadavkem PUT jej upraví. O výše zmíněné smazání poznámky 42 tedy klient požádá zhruba takovýmto HTTP požadavkem:

DELETE /pepa/notes/42 HTTP/1.1
User-Agent: MojeAplikace/1.0
Host: www.mlp.cz

Píšu ZHRUBA, protože takto by bylo mazání velice „liberální...“ Je potřeba nějak ověřit, že ten, kdo chce přistupovat k datům, má taky právo k nim přistupovat. O autentizaci uživatele ale až příště.

Pro inspiraci můžete kouknout na REST implementaci SQL operací: http://phprestsql.sourceforge.net/

Dva tipy, které se při programování REST API mohou hodit:

echo $_SERVER['REQUEST_METHOD'];
vypíše typ HTTP požadavku (GET, POST, ...)

echo join('',file('php://input'));
vypíše tělo HTTP požadavku v surové podobě