sestdiena, 2009. gada 9. maijs

Vektorgrafika un Javascript

Pagājušonedēļ vajadzēja veikt izpēti par SVG un VML, abi ir XML, pielietojamību dažādos pārlūkos. Izrādījās, ka SVG ir W3 pieņemts standarts, bet M$ sākumā bīdīja savējo VML. Rezultātā tagad visi pārlūki, izēmot IE, uztur SVG, bet IE uztur tikai VML.

Radās ideja, veikt SVG convertēšanu uz VML pa tiešo uz IE izmantojot Javascript un XSL. Pamanījos atrast vienu XSL bibliotēku, kas it kā veic šo darbiņu. Pat kaut kas sanāca - konvertācija notika, bet iegūtias VML ne vienmēr izrādās ir pareizs, bet atrast kur ir kļūda(s) 600 KB lielā XSL failā ar vairāk kā 13 tūkstošs rindiņām nav viegls darbs, itsevišķi tāpēc, ka to XSL ir rakstījis kāds itālis - visi komentāri un mainīgie itāļu valodā. :) No otras puses, sūtīt klientam pus megabaitu lielu failu, lai veiktu pāris kilobaitu lielu failiņu konvertāciju, arī nav prāta darbs.

Radās ideja par citu pieeju problēmai. Eksistē vairākas dažādas Javascript bibliotēkas, kas veics dinamisku vektorgrafikas zīmēšanu izmantojot SVG līdzīgas Javascript komandas, bet ģenerē rezultātu atkarībā no izmantotā pārlūka. Pamēģināju vienu no tām, Raphael JS, iespaidi ir pat ļoti patīkami. Maza un ērta bibliotēka, sarakstīta izmantojot Javascript funkcionālās valodas īpatnības - closures. Un ja vēl pieliek klāt XmlHttpRequest, tad var iegūt pat ļoti interesantus rezultātus. Vajag tik idejas :)

Dažas no citām, neizmēģinātām, bibliotēkām: dojo.gfx, svg2vml, ExplorerCanvas, YUI paplašinājums vector-graphics-ext.

Nav komentāru:

Ierakstīt komentāru