czwartek, września 15, 2005

Zasobniki w czwartek





Zasobniki w czwartek
Bookmarklet-y (Favelet-y) – krótkie programiki w JS uruchamiane w oknie z adresem w przeglądarce lub jako linki (zamiast protokołu „http” jest „javascript” np.: „javascript://alert(‘cześć’)”
Adresy:
http://www.squarefree.com/2005/08/
http://www.squarefree.com/bookmarklets/validation.html
http://www.squarefree.com/userstyles/
http://www.squarefree.com/bookmarklets/webdevel.html
przedstawienie modelu BOM (browser object model) „Professional JavaScript for Web Developers: JavaScript in the Browser, Pt. 1” – gdzie umieszczać wstawki w JS na stronie HTML


Uwaga XHTML wymaga trochę innego zapisu skryptów w HTML:

Rozłam w grupie W3C

Rozłam w grupie standardów W3C, co przyjąć XForms czy WHAT WG? Za Xform przemawiają prace prowadzone przez W3C od 2000 r. Przeciw -  brak zakończenia prac, brak wsparcia w implementacji w standardowych przeglądarkach internetowych (IE, FF, mozilla), wspierają go firmy spoza głównego nurtu firm internetowych (IBM, Novel, Oracle) jakby naprzekór stanu rzeczywistego. Za WHAT stoi pragmatyzm, wzbogacenie tradycyjnych formularzy. Ciekawy na ten temat artykuł jest tu.

AJAX z bledami

Błędy powstałe przy nieumiejętnym wykorzystaniu technologii AJAX.
Artykuł  w blogu autorstwa Alex Boswortha na tema 10 najczęstszych błedach pojawił się tu:
  1. Brak wizualnego sygnału na stronie, że nastąpiło zwrócenie się do serwera po dane. Użytkownik nie wie czemu czeka na reakcję.

  2. Brak wsparcia dla klawisz „Back”, powrót na poprzednią stronę

  3. Brak zmiany stanu przez wybranie łącza (linku). Użytkownik jest przyzwyczajony, że łącza sterują nawigają, a w tej technologii łącza sterują zachowaniem się aplikacji (jej stanem).

  4. Nieoczekiwane (asynchroniczne przecież, one wynikają ze specyfiki AJAX) zmiany zawartości powodują dezorientację użytkownika.

  5. Nie działa mechanizm zamrożenia stanu strony przez zapamiętanie jej stanu przy pomocy „bookmark”. Strona jest generowana przez JS lokalnie a nie pochodzi jako wynik przesłania danych z serwera.

  6. Znaczna ilość kodu potrzebna do uruchomienia strony klienckiej aplikacji, powoduje znaczne obciążenie CPU lokalanego komputera, przez co przeglądarka wyświelająca aplikację działa wolno.

  7. Wymyślanie nowego interfejsu GUI powoduje, że użytkownik musi się na nowo uczyć obsługi aplikacji. Np. przyzwyczajenie do przytrzymania prawym klawiszem jakiegoś elementu nie działa lub działa inaczej niż zamierzano.

  8. Brak uwzględnienie lokalnych zmian zawartości w globalnej „wizji” bieżącej strony lub stron otrzymywanych w dalszej interakcji. Łatwość modyfikacji lokalnej treści nie zawsze się przenosi na wyższy poziom stanu aplikacji.

  9. Asynchroniczna aktualizacja i śledzenie stanu wsadowych zmian (np. naciśnięcie wielu checkbox-ów z których każdy wysyła dane do kontroli do serwera) powoduje trudności w zorientowaniu się użytkownikowi co się dzieje.

  10. Nagłe zmiany w treści oglądanej strony mogą przeszkadzać użytkowi, który np. czytał długi rozdział a tu nagle został on skrócony lub przesuniętu w dół z uwagi na potzrebe zrobienia miejsca dla nowej zawartości.
Krytykę AJAX również można znaleźć na stronie twórców Mozilla.

Zasoby do AJAX w IBM

Zasoby do artykułu „AJAX and scripting Web services with E4X
  1. Read "AJAX and scripting Web services with E4X, Part 1" (developerWorks, April 2005) for an introduction to E4X.

  2. Get more information on JAX-RPC.

  3. Read the E4X specification ECMA-357.

  4. Read the JavaScript specification ECMA-262.

  5. Find out more about Rhino, JavaScript for Java from Mozilla.

  6. Visit the Apache XMLBeans project Web site.

  7. Visit the Apache AXIS Web services engine.

LINQ

LINQ
LINQ oznacza Language INtegrated Query w skrócie oznacza zrównanie operacji zapytania (kwerendy) oraz wyliczenia (ogólnie operacji na zbiorach) i włączenie instrukcji SQL do języków platformy .NET. Przykład:

Stworzenie kolekcji:
  • Prosta : int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };
  • Skomplikowana: List products = GetProductList();

Utworzenie zapytania:

  • var lowNums = from n in numbers where n < 5 select n;
  • var expensiveInStockProducts = from p in products where p.UnitsInStock > 0 && p.UnitPrice > 3.00M select p;

Wykonanie (wyliczenie):

  • foreach (var x in lowNums) { Console.WriteLine(x); }
  • foreach (var product in expensiveInStockProducts) { Console.WriteLine("{0} is in stock and costs more than 3.00.", product.ProductName); }

Zasoby na temat XML

Lista łączników do zasobów na temat XML.
Format XML jest źródłem wielu protokołów, prace nad nimi prowadzi W3C w ramach grupy roboczej do spraw protokołów (XML Protocol Working Group). Sporządziła ona listę protokołów do wymiany informacji i zdalnego wywołania procedur. Jest wiele serwisów z informacjami na temat XML i jego wykorzystania:
  • Very Dynamic Web Interface – artykuł zawiera historię i opis dwóch interfejsów do wywołania stron na zdalnych serwerach: XMLHTTP (rozwiązanie historycznie pierwsze zproponowane przez MS niestety w technologii ActiveX) oraz XMLHttpRequest (inne przeglądarki w tym Mozilla, Safari i Opera). To drugie rozwiązanie rozszerza specyfikę języka JavaSript (var req = new XMLHttpRequest();) nie opiera się w sposób jawny na specyfikę środowiska Windows i jest przez to uniwersalne (działa w różnych platformach systemowych). Z drugiej strony jest to niestandardowe rozszerzenie języka skryptowego ECMAScript. Rozwiązanie pierwsze działa jedynie na platformie MS Windows. Zaletą tego jest, że wszystkie aplikacje wspierające COM+ (dawniej ActiveX) mogą korzystać z tego obiektu. Za obecność tego obiektu odpowiada oprogramowanie MSXML do ściągnięcia w witryny MS (nowsze wersje/ uaktualnienia) lub pochodzące z MS IE. W artykule jest odnośnik do tutoriala z zasobów Apple z przykładem na ten temt.

  • Survey of XML standards: Part 1 / 2 – napisana przez znanego specjalistę Uche Ogbuji (IBM). Cześć pierwsza traktuje podstawowe technologie związane z XML (XML 1 i XML 1.1, Catalogs, XML Namespaces, XMLBase, XML Include, XML Infoset, Canonical XML, Xpath, Xpointer, Xlink, Relax NG, W3C XML Schema). Tutoriale są na serwerze ZVON i W3Schools. Część druga zajmuje się stroną programistyczną XML (XSLT, SAX, DOM, XAPI, Xupdate, Xquery, SQL/XML, CSS, Xforms, SOAP,WSDL). Dodatkowa lista standardów jest na stronie developerskiej IBM (tu). Jest tam dużo informacji na pokrewne tematy RSS, RDF, XML-signature, XHTML. Część 3 zawiera aplikacje korzystające z XML (XHTML 1.0 i 2.0, DocBook, XSL-FO, SVG, VoiceXML, MathML, SIML, RDF). W części 4 jest piękny obrazek przedstawiające wszystkie te technologie z lotu ptaka.

  • Spis ciekawych artykułow z StyleStudio. Między innymi można na podstawie pliku XML wygenerować automatycznie opis tego pliku (refaktoring) w formacie DTD lub XML Schema.

  • Czołowym dostawcą rozwiązań obsługi XML jest firma Altova, która udostępniła bezpłatnie swój parser na stronie oraz portal z dokumentacją dla deweloperów. Co daje ten parser. AltovaXML jest to silnik parsujący zgodny z XML 1.0, XML 2.0 (transformacje), Xquery (zapytania)  oraz walidator (walidacje). Dostęp do niego jest z trzech poziomów: COM, Java oraz .NET. Można również go wywoływać z linii poleceń. Pełna zgodność z zaleceniami W3C. Optymalizacja, dzieki temu nadaje się do zastosowania po stronie klienckiej oraz serwerowej. Wsparcie dla XML Schema.

  • Narzędzia: xmlwrench, pete xml, xoology (coda), ms xml Notepad, bonfire studio (.nzworks.), Xml Metal, stylusstudio, XmlSpy.

poniedziałek, września 12, 2005

WASP to nie to co myślisz

WASP to Web Standard Project (a nie White AngloSax Protestant). Od swego powstania krytykował twórców przeglądarek internetowych za ich opieszałość w implementacji standardów W3C, niekonsekwencji i niekompatybilności witryn w różnorodnych przeglądarkach. Teraz w dobie renesansu skryptowania (implementacja XMLHttp przez Google, technologia AJAX oraz skryptowanie poza przeglądarką np. Dreamweaver oraz Widgets w systemie operac. Tiger firmy Appple) zaproponował nowy kierunek DOM Scripting Task Force mający na celu: promocję standardu DOM zawartego w W3C oraz upowszechnienie "dobrych" praktyk w zakresie stosowania języków skryptowych na stronach wwww (głównie JavaScript, MS JS, oraz standard łączący obie te implementacje - ECMAScript organiazacji europejskiej ds standardów ECMA) no jeszcze zwiększenie dostępności stron dla osób niepełnoprawnych.
WASP opisuje model programowania internetowego jako krzesło o trzech nogach (chyba brakuje jeszcze jednej, może się przewrócić): XHTML (struktura), CSS (prezentacja) oraz DOM (zachowanie, działanie).
Obecnie organizacja WASP się zmieniła, opublikowała swój manifest reszcie świata oraz współpracuje z MS w ramach tworzenia nowego MS IE 7.

Portal IBM i WS

Resources