Klávesové zkratky na tomto webu - rozšířené Na obsah stránky

What's Up?

15.38 - 16. října 2008 | Webdesign

Možná si říkáte, tady to umřelo, nic se neděje. Možná máte pravdu. Je to tím, že poslední dobou toho mám docela dost. Krom příprav na sobotní přednášku, jsem se musel věnovat shánění a následnému stěhování a nyní už i zařizování, což mě docela vytěžuje. :) Navíc v novém bytě ještě nemám zaveden internet, tak jsem téměř mužem v off-linu.

K příležitosti WebExpa jsem si vytvořil kalendář, kde bych se chtěl nejspíš pohybovat, uvidíme, jak to nakonec dopadne.

No a když už se to tak blíží, tak Microsoft nezapoměl vydat beta verzi ASP.NET MVC o němž chceme s Borkem povídat. Neni to jediný release před konferencí, například vyšel i Silverlight 2 o němž bude po nás povídat Štěpán Bechynský.

Vzhledem k tomu, že změny mezi Preview 5 a Beta verzí nejsou nikterak veliké (stačí pár drobných úprav, aby vše opět běželo jak má, budeme na přednášce tedy ukazovat už Betu. Já už jsem převedl moji ukázkovou aplikaci. Ta bude aplikace našeho tuaregského intranetu, takže žádná ukázková spatlanina, ale aplikace z reálného života. Dobré je, že na ní můžu ukázat jak ASP.NET MVC, tak ADO.NET Data Service, které v projektu také používám.

Tak pokud budete na WebExpu, tak mě nezapomeňte přijít pozdravit ;)

Homepage reloaded

11.34 - 9. dubna 2008 | Webdesign

Už je tomu nějakej ten týden, co jsem nasadil novou sociální homepage. Po úpravách, které jí měly vystavovat jako application/xhtml+xml došlo k tomu, že jsem se na ní ve Firefoxu už nedostal.

Měl jsem za to, že je chyba v mém systému a že je muj FF nějakej nabořenej, protože u Macíka to třeba nedělalo. Proto jsem to ani moc neřešil. Jenže jsem si jednoho dne řekl, že to musím rozlousknout.

Jádro pudla

Chyba nakonec nebyla pouze v mém Firefoxu, ale šlo o kombinaci Firofox + Silverlight. Do svého Google Analytics kódu jsem měl totiž přidaný kód, pro měření zastoupení Silverlight pluginu, který jsem vzal od Nikhila Kothariho. Problém byl v tom, že plugin instancioval pomocí vytvoření embed značky přes innerHTML. To v kombinaci s application/xhtml+xml Firefox sestřelilo.

Řešení

Když si mě včera do Twittru přidal Arcao, našel jsem na jeho stránkách informaci, o které jsem dosud nevěděl. Google Analytics maj novej script pro měření. Takže ten jsem použil pro novou verzi meho kontrolu na měření návštěvnosti. A začal si hrát s ověřováním Silverlightu. U IE jsem zůstal u metody inicializace ActiveX objektu a využití jeho API. U Firefoxu jsme na to musel trochu jinak. Nakonec jsem využil PAPI a vlastnost description, která vrací verzi pluginu.

Ale verze pluginu se neshoduje s komerčním označením Silverlightu. Musel jsem tedy ještě přidat přepočet. Zatím je to takhle:

Plug-in Silverlight
0.80 WPF/e
0.90 Silverlight 1.0
0.95 Silverlight 1.1
1.00 Silverlight 2.0

No a výsledný kód po nějaké kompresi vypadá takto:

<%@ Control Language="C#" %>
<script runat="server">
private string _ua;
public string UserAccount {
  get { return _ua; }
  set { _ua = value; }
}
</script>
<script src="http://www.google-analytics.com/ga.js" type="text/javascript"></script>
<script type="text/javascript">
<% if (Page.Response.ContentType.ToLower() == "text/html") { %><!-- } else {-->// <![CDATA[ <% } %>
try{var t=_gat._getTracker("<%= UserAccount %>"),v=(function (){var v='',n={},s='Silverlight',a='AgControl',b=s+' Plug-In',x=['2.0','1.1','1.0'];n.a=window.navigator.userAgent;n.p=navigator.plugins;
try {if(n.a.indexOf('MSIE')>=0){var c=new ActiveXObject(a+'.'+a);if(c)for(var i=0;i<sv.length;i++)if(c.isVersionSupported(x[i])){v=s+'/'+x[i];break;}}
else if(n.p[b]){v=n.p[b].description;var d=v.split('.');if(d.length>0)v=d[0]=='1'?s+'/2.0':d[0]=='0'&&d[1]=='95'?s+'/1.1':d[0]=='0'&&d[1]=='90'?s+'/1.0':d[0]=='0'&&d[1]=='80'?'WPF/E':'';}
}catch(e){}return v;})(),a=t._addOrganic,b=t._setVar,q='q',s='s';
a('seznam.cz',q);a('centrum.cz',q);a('jyxo.cz',s);a('atlas.cz',q);a('zoohoo.cz',q);a('tiscali.cz','query');a('1.cz',q);a('volny.cz','search');
a('zoznam',s);a('atlas.sk','phrase');a('centrum.sk',q);a('morfeo.sk',q);a('szm','ws');a('azet',s+q);a('zoohoo.sk',q);
t._initData();t._trackPageview();if(v)b(v);}catch(e){}
<% if (Page.Response.ContentType.ToLower() == "text/html") { %>// --><% } else { %>// ]]><% } %>
</script>

Snad se bude hodit.

WebCamp za námi

11.56 - 29. března 2008 | Webdesign

Poslední dva dny jsem strávil na konferenci pro webové tvůrce pořádané Vilémem Málkem a Jakubem Vránou. Jaké to tam bylo a o co jste pravděpodobně přišli?

WebCampu jsem věděl už před pár týdny. Nezaujal mě ani tak program, jako někteří přednášející. Už nějakou dobu jsme měl potřebu se setkat s Davidem Grudlem (všimněte si, není Grundl a ani DGX) a Borkem Bernardem. Vzhledem k tomu, že oba na této konferenci měli přednášet a navíc v Dejvicích, byla to jedinečná příležitost. :)

Psal jsem Borkovi, ať se mi večer ozve, že bych s nimi zašel „na jedno.“ Pak mi v úterý přišel mejl od Honzy Biena, že je pozvaný u může si vzít hosta, ať tedy jdu s ním. No měl jsem zrovna dovolenou a pohyboval jsem se v Praze – tak jsem souhlasil.

Den první – webový vývoj

První den byl věnován webovému vývoj a to především v PHP. Na konec jsem na konferenci našel několik i pro mne zajímavých témat. Na začátku bylo téma o podpoře PHP v produktech Microsoftu (o tom jak rozběhat PHP 5 v IIS na Vistě jsem už psal). Přednáška o budoucnosti PHP byla spíše zábavnou (alespoň z mého C# pohledu). Jakub ať se nezlobí, ale jeho generátor administračních rozhranní se mi vůbec nelíbil. ;)

Borek pak prezentoval celkem ze široka, jaké možnosti pro webové vývojáře dnes existují. Jako serverou alternativu prezentoval ASP.NET (v Dynamic Data měl admina stejně rychle hotového jako Jakub, navíc vč. doménových objektů). U RIA se Borek zmínil o Silverlightu 2 a Flexu. Dále o možnosti psát na serveru klientským způsobem a trendu sbližování technologií pro tvorbu tenkých klientů (browser, plugin, Java/.net, native). Pak jsme šli na pivo do Budvarky.

Vrátili jsme se až na závěrečnou část přednášky Tomáše Petříčka, která byla o Phalangeru v Silverlightu. Myslím, že ta dost přítomných vývojářů zaujala, alespoň podle pozdějších reakcí v hospodě. Na konec byl zlatý hřeb večera – přednáška DGXDavidaTexy! (z pohledu programátora).

Nakonec jsme se přesunuli o patro níž, kde je i hospoda. Tam jsme nakonec s Davidem a Štěpánem stvrdli až do tří nebo tak nějak. :D

Den druhý – budoucnost a přístupnost webu

Ráno jsme přišli dost zničení (po třech a půl hodinách spánku) a zachytili jsme začátek přednášky Davida Špinarapravidlech přístupnosti pro weby státní správy. Následovala další přednáška o snaze o bezbariérový Seznam a další o tom jakým způsobem používají web handicapovaní uživatelé a praktickou ukázkou hlasové čtečky.

V odpoledním bloku vystoupil Chamurappi a představil svůj český validátor. Patrick Zandl měl velice zajímavou přednášku o Stream.cz a na závěr vystoupil Martin Hassman s tématem HTML5.

Všechno to byla zajímavá témata, ale díky únavě z předchozího dne, to mohlo vypadat, že mě to nezajímá, opakem byla pravda. Návštěvnost konference asi neodpovídala představám pořadatelů, ale možná to bylo i tím, že se o ní málo mluvilo – já jsem jí zaregistroval, díky službě W3B – nebo dosti vysoké ceně. Snad bude mít příští akce větší komerční úspěch.

Dynamic Silverlight

11.48 - 15. března 2008 | Webdesign

Jednou z věcí, na kterou se dlouho těším, je podpora dynamických jazyků v Silverlightu 2+. Umožňuje to nový stack v .net runtime DLR, nad kterým jsou implementovány jazyky IronPython, IronRuby, JScript.net a budoucí verze Visual Basicu označovaná jako VBx.

Dynamic Silverlight – jak se rozšíření Silverlightu 2.0 pro dynamické jazyky nazývá – byl představen poslední den konference MIX08. Zájemcům doporučuju shlédnout záznam přednášky Johna Lama. No a právě včera byly zprovozněny nové stránky tohoto zajímavého projektu, kde si můžete stáhnout SDK s potřebnými knihovnami. Tak s chutí do hraní! :)

Tagy: Silverlight, IronPython, IronRuby

ASP.NET MVC je venku v preview verzi

07.39 - 10. prosince 2007 | Webdesign

Je tomu pár hodin, co Microsoft uvolnil ASP.NET Extensions CTP. Součástí balíčku je ASP.NET MVC framework, nové extenze pro AJAX, podpora Silverlightu, Scraffolding framework pro WebForms i MVC a podpora REST like datových služeb.

No není toho zrovna málo, jen škoda, že se to nevešelo do 3.5 frameworku. Paralelně má vyjít „Astoria“ alias ADO.NET Entity Framework, což je ORM postavené nad LINQem.

No nebudu déle zdržovat. Stáhnout si můžete ASP.NET Extensions a ještě MVC Toolkit. Přečíst si o nich můžete tady: Zdroje o ASP.NET MVC.

.NET na OS X

11.51 - 13. června 2007 | Webdesign

Při zběžném prolétnutí RH článku o Safari pro Windows, jsem narazil na zajímavou větu:

OS X je stále minimální nabídka aplikací, téměř nula her, žádný .NET, výrazná nestabilita, padání a tuhnutí aplikací i systému, nedostatek ovladačů, neexistující kodeky pro video a audio, solidní přehrávač samotného videa, neexistující pořádný vypalovací software; jeho použitelnost se sice zvyšuje po instalaci Parallels či VMWare a virtualizovaných Windows, nicméně, proč spouštět Windows pomalu pod OS X, když to jde nativně?

Přehlédněme teď její délku. Mě jako vývojáře .NET zarazila zvýraznená část textu. Tedy „žádný .NET“. Milý Radku, na OS X můžeš již pár let používat MONO, což je OS implementace .NET. A čerstvě po lehké Silverlight masáži můžu odpřísáhnout, že existuje .NET pro OS X i přímo od Microsoftu, stačí si nainstalovat plug-in Silverligh pro Safari ;)

Nová éra klientského programování

07.35 - 3. května 2007 | Webdesign

Ještě jsem se ani pořádně neohřál ve studených vodách JavaScriptu a přichází mi vysvobození! Microsoft konečně vypustil novou verzi CLR, která je součástí plug-inu Silverlight (dříve známý pod kódovým označením „WPF/E“). Co je na tom tak vysvobozujícího?

Microsoft vzal CLR 2.0, trochu ho přepracoval, přibyla nová vrstva DLR, která ulehčuje portaci dynamických jazyků (Python, Ruby, ECMA Script, VB Script) na platformu dotnet. K CLR přibalil základní knihovny .net frameworku, potažmo jejich podmnožinu, a zabalil to do plug-in o velikosti 4,5 MiB, který funguje v prohlížečích IE, Firefox a Safari a zanedlouho přibyde i podpora pro Operu. Pokud jste četli pozorně určitě jste si všimli Safari, ano tento plug-in funguje i na OS X! Odteď můžeme tedy psát klientské „skripty“ v C#, VB.NET nebo třeba v IronPythonu. Brzy by měla přijít i podpora IronRuby, ECMA Scriptu 3.0 a VBx (VB Script).

Silverlight umožňuje psát graficky zajímavé, interaktivní aplikace, které jsou součástí HTML stránky, stylem na který jste zvyklí při psaní serversidu nebo WPF. Můžete také použít stávající assembly i na klientovi, bez nutnosti rekompilace.

Otázkou zůstává, zda-li se Silverlight dokáže prosadit na trhu, kde už vládne Flash/Flex…

Související

Přínáší Microsoft novou generaci webu?

17.46 - 23. prosince 2006 | Webdesign

Je tomu již pár týdnů, co Microsoft uvolnil první ukázkovou verzi zajímavé technologie pod krkolomným kódovým označením WPF/E. Tato technologie si klade za cíl umožnit provozování technologie WPF, přesněji řečeno jeho omezenou část, i na systémech kde neběží .NET Framework 3.0, jehož je WPF součástí.

První komunitní preview (December CTP) funguje na Windows v prohlížečích Internet Explorer a Firefox a na OS X v Safari (a možná i ve Firefoxu). Podpora WPF/E je prohlížečích zajištěna pomocí 1MiB plug-inu, který zprostředkovává i podporu pro přehrávání Windows Media Audio & Video. V tom je prozatím také asi největší síla WPF/E.

O co tedy jde

WPF je technologií pro tvorbu tzv. rich UI, novou generací WinForms a podle Microsoftu i webu. A vlastně proč ne? Web, takový jaký ho známe dnes, byl původně vytvořen pro hypertext, nad kterým se časem vybudovala nadstavba pro aplikace (WebForms, JavaScript, AJAX). Z jiného úhlu pohledu se prostředí webu využívá jako transportní vrstva pro WebServices. A na to navazuje WPF. WPF přináší „rich“ aplikace chovající se stejně jako nativní aplikace v systému s možností přenosu přes web. Všechny prvky a chování je možno popsat v XML dialektu zvaném XAML, složitější logiku vykonává buďto nějaká webová služba nebo klientský kód napsaný v libovolném jazyce, který je podporovaný platformou .net.

WPF/E =Everywhere

WPF/E bere určitou podmnožinu jazyka XAML a umožňuje jeho vykonání v okně prohlížeče. Prozatím se jedná o subset pro vykreslování vektorové grafiky, přehrávání multimédí a tvorbu animací. Podpora pro složotější formaláře zatím chybí a je otázkou, zda bude doplněna. To WPF/E staví do role možné konkurence pro Flash. Vím, pravděpodobně k ohrožení pozice Flashe nedojde, ale mně se líbí možnost výběru, obvzlášť, když se jedná o XML, ke kterému mám jako programátor mnohem blíž.

Co se týče aplikační logiky, ta je prozatím tvořena pomocí JavaScriptu, takže můžete plně využívat vašich AJAXových služeb a frameworků. V dalších verzích by se měla objevit i podpora pro dotnetí jazyky.

Výhody a nevýhody

Za hlavní výhodu, oproti Flashi, považuju, jak už jsem psal, že jde o XML. To má nesporné výhody v možnosti editace, validace, transformace, ale i s prací pomocí DOM. A protože se jedná o XML mohou být animované nebo antialisované texty indexovány vyhledávači (absence indexace je asi největší slabina flashe na webu). Další výhodou je platformavá nezávislost (ikdyž zatím jde pouze o dva operační systémy a tři prohlížeče, oproti flashi nepatrný zlomek) a vkládání multimédií přímo do stránek. Nevýhodou může být to, že jde o technologii Microsoftu, k němuž má značná část „odborné“ internetové populace averzi. Pro někoho může být nevýhodou i to, že se kdokoli může snadno podívat na zdrojáky vaší práce, což je u flashe kompilací značně stíženo. Další nevýhodou je, že zatím nejde o finální produkt, tudíž jeho podpora, možnosti a rozšířenost jsou teprve na začátku.

Ukázky použití

Já jsem si při zkoušení možností WPF/E vytvořil jednoduchý přehrávač hudebních souborů. Jeho výslednou podobu si můžete prohlédnout. Co umí? :) No, přehrává WMA soubory a ukazuje názvy tracků, umí mezi stopami přeskakovat, pauzovat, zastavovat a znovu spouštět a ještě zobrazuje průběh přehrávání. Chtěl jsem i zprovoznit přeskakování v rámci aktuální skladby, ale nakonec se mi nepodařilo donutit MediaElement ke změně pozice :( Ještě by šlo udělat změnu hlasitosti, zobrazování délky stopy i celý playlist, zobrazování progressu downloadu apod. To už si zkuste sami, pokud chcete…

Celkem slušný přehled ukázek WPF/E najdete na stránce A short list of WPF/E examples.

Dokumentaci, pluginy a šablony do VisualStudia si stáhněte na MSDN.

Související