2009-02-18

Wiw, OpenSocial

Az elmúlt hetekben/hónapokban a csapból is az folyt, hogy a Wiw támogatni fogja az OpenSocial-t, azaz a Facebook-hoz hasonlatosan minialkalmazásokat lehet majd fejleszteni a népszerű közösségi portál felületére. Sőt, fejlesztői verseny is indult, ahol fél millát lehet nyerni és már meg is hosszabbították a február közepei határidőt március végére. Még nem késő a mezőny után eredni, itt a kitűnő lehetőség a megemelkedett frankhitel-törlesztőrészlet kipótlására. Tessék egy kis útravaló:

JavaScript:
A Dinamikus HTML oldalak és egyben az OpenSocial alapnyelve. Van sok tutorial a neten, de a amelyik csak az alapokat és a browser API-t taglalja anélkül hogy belemenne a prototipizálásba és az egyéb szintaktikus eszközökbe, az használhatatlan. Néhány információforrás:


JavaScript keretrendszerek és megoldások:
Kb. ezer van, de kettő elég fontos általában és az OpenSocial szempontjából is:
  • JSON a Yahoo-nál: Data Transfer Object formátum, azaz adattovábbításhoz használható.
  • Prototype framework. API doc pdf: sokszor használt funkciók shortcutjai, böngészőfüggő funkciók egységesítése. Kell.
OpenSocial: A dolog lényege, hogy a szolgáltató (pl. Wiw) által biztosított webes felületbe integrálva jelenik meg a saját minialkalmazás, alkalmanként felhasználva a szolgáltató által rendelkezésére bocsátott személyes adatokat. A minialkalmazás leginkább Javascript, így a kliens gépen fut és felhasználhat távoli szerver erőforrásokat. Fejlesztői szempontból ez azt jelenti, hogy csinálhatunk saját PHP, Java, ASP backend-et. Vannak az OpenSocial-tól különböző API-k is, mint például a Facebook-é. És hogy milyen alkalmazásokat lehet csinálni? Ahogy a FB-példájából látszik leginkább haszontalanokat. (Én egyébként hiszek a hasznos közösségi alkalmazásokban is.)
  • Leírás a Wikipedián: történet, alapkoncepciók. A Google Gadgets -re épül, ami így magában nem jelent túl sokat. A G.Gadgets is XML-HTML-Javascript alapú. A linken vannak infók spreadsheet és maps mashup-ok készítésére.
  • Dokumentáció a Google-nél: alapkoncepciók, kiindulópont sok egyéb hasznos információhoz.
  • 0.8 API dokumentáció. 20-30 nem túl bonyolult osztály.
  • A Shindig egy Apache-os referencia implementáció, ami elvileg a Wiw-ben is működik.
  • Hallgatnivaló: Google Developer Podcast Episode Eleven: OpenSocial with Patrick Chanezon (hossz: 27:10, nagy csodákat nem mondott.)
  • Néznivaló:
    • Sorban mondja a srác egy alkalmazás elkészítését a code.google.com-on. 1-3 perces videók egymás után. Orkut-ra épül. Elvileg Orkut-on nagyon egyszerű az alkalmazás telepítése.
      • 1. Hogyan kell nekiindulni egy Orkut HelloWorld alkalmazás írásának, mik kellenek hozzá.
      • 2. Barátok kilistázása az alkalmazásban.
      • 3. Barátnak "ajándék" küldése. Funkció beépítése az alkalmazásba.
      • 4. Eddig adott ajándékok listázása.
      • 5. Eddig kapott ajándékok listázása.
      • 6. Egy egyórás előadás az OpenSocial jövőjéről. Innentől kezdve mindenféle hosszabb konferencia előadások vannak.
    • Google Campfire és egyebek, inkább manager szemszögből közelítik meg a témát.
  • Van egy template-ező rendszer, ami megkönnyíti az OpenSocial programozást és ami be van építve a Shindig-be, de a wiw-esetében nem működik valamiért, ahogy Bergengotian írja. "Külső forrásból kell behúzni."
  • Google App Engine - ha szerveroldali funkcionalitás kell, de nincs saját szerver. Python-ban kell programozni ha jól sejtem. Biztosítják ingyen a szerveroldali kódvégrehajtó funkcionalitást és némi perzisztens tárhelyet. Update 2009.04.16: Már java-ban is lehet programozni a Google App Engine-t. Ez egy olyan dolog amit az opensocial-tól függetlenül is át kell majd néznem.
Wiw-OpenSocial: Jelenleg a 0.8-as verziót támogatja, de készülnek a 0.9-esre.
  • Példaalkalmazás, gyorstalpaló: egy működő példán keresztül mutatja be a koncepciókat. Valóban működik és jól érthető.
  • Fejlesztői blog. Érdemes be RSS-ezni, hasznos információkat ír. A kommentekben is vannak hasznos információk.
  • Bergengotian blogbejegyzése a témában néhány technikai részlettel. Megemlíti az OpenSocial DevApp-ot, mint lehetséges fejlesztőkörnyezetet és azt is, hogy a 0.8-asat nem sikerült beizzítania csak a 0.7-est.
  • A fejlesztői portál belépő oldala. A regisztrációhoz szükséges egy működő magyar mobilszám.
JavaScript/OpenSocial fejlesztői környezetek: Hasznos segítség, ha van javascript kódkiegészítés és szintakszis szerinti színezés, esetleg helyben lehet tesztelni az alkalmazást, automatizálni lehet a szerverre való feltöltést.
  • Google Group a témában összesen 5 hozzászólással. Leginkább Eclipse-t és OpenSocial DevApp-ot ajánlanak.
  • OpenSocial DevApp-ról itt van egy tutorial -de lehet hogy ez jobb. Ez egyébként maga is egy openSocial alkalmazás, amivel lehet próbálgatni kódrészleteket. OpenSocial DevApp installálása - írás a wiw fejlesztői blogon. Használható az iWiw esetében is, sikerült installálni. Az alapvető funkciója látszólag működik.
  • Az alap Eclipse WST-ben (web standard tools subproject) van JavaScript támogatás (JSDT), kérdés hogy milyen minőségű. További anyagok róla: Írás az Eclipsepedia-ban. Videocast. Eclipse Ganymede-vel érdemes használni, régebbi Eclipse verzióval nem barátok. (Kis kitérő: Ha Ganymede-val SVN-t akarsz használni, ne felejtsd el installálni a JavaHL adaptert is a Subclipse mellé.) A rövid próbálgatás során nem voltam a Javascript támogatással maradéktalanul megelégedve. Mivel a JavaScript dinamikus nyelv, nincsenek előre definiált típusok, nehezebb kideríteni szerkesztés közben egy objektumon hívható lehetséges függvényeket, nincs argumentumlista- és típusellenőrzés. Néhányszor nem tudott segíteni az autoComplete. Kíváncsi lennék milyen szoftvereket használnak a profi JavaScript fejlesztők / milyen a projekt elrendezésük.
  • A JSEclipse is egy Eclipse plugin, nagy reménnyel indult régen, még az Adobe is megvette, de ma már felejtős.
  • JavaScript editorok összehasonlítása, de ezek inkább Microsoft Visual Studio-hoz tartozó pluginek.
  • Firebug - plugin Firefox-ra, amivel a JavaScript és a HTML oldal működését lehet nyomon követni. Régebben -még a 3-as Firefox előtt- használtam, de permanensen 100%-ra tette a processzor kihasználtságot úgyhogy töröltem. A 3-as Firefox-on eddig gond nélkül működik. Érdemes elolvasgatni a doksiját, vagy legalább megnézni a screencast-okat. JavaScript Debugging screencast 16 perc, fölöttébb hasznos!
  • Tesztelés! Mert Javascript-et is kell tesztelni, természetesen Javascript-ben. A Yahoo-nak vannak is erre ötletei: YUI test blogbejegyzés. Van videó is, 48 perc és egész friss, 2008 októberi.
Nos, ennyit firkálgattam magamnak.

A holnapi Bp Newtech Meetup-on is lesz elvileg egy villámelőadás a témában. Még nem tudom hogy megyek-e, mindenesetre a feltett kérdések érdekelnének. Vajon hányan neveztek a versenyre, milyen minőségű munkákkal? Abban biztos vagyok hogy fel fog lendülni tőle a Wiw forgalma, ha majd egyszer élesbe megy.