2013. március 16., szombat

A cloud és a desktop technológia közötti szakadék áthidalására lehetne csinálni egy kis lokális node.js szervert.

A cloud és a desktop technológia közötti szakadék áthidalására lehetne csinálni egy kis lokális node.js szervert. Az egész telepítés után leköltözne a tálcára, és dupla klikkre megnyitná böngészőben a fő oldalt, ahonnan alkalmazásokat lehet telepítgetni illetve futtatni. Ez így majdnem a Chrome App kategória, annyiból jobb, hogy nincs Chrome-hoz kötve (bármilyen böngészőből elérhető, mint a cloud app-ok), illetve teljes hozzáférése van a géphez, mint más desktop alkalmazásoknak. Az ilyen app-ok ugye teljes mértékben html + javascript technológiákkal készülnének, és így végül is minden desktop app kiváltható lenne. E-mail kliens, RSS olvasó, fejelsztő eszközök, torrent kliens, stb. Minden persze maximálisan felhasználóbarát módon. Az ilyen app-ok nagy előnye az is, hogy mivel az ember gépén futnak, nincs kiszolgáltatva egy külső szolgáltatónak. Tulajdonképpen minden előnyük megvan, ami a desktop app-oknak, de egyben magukban hordozzák a cloud app-ok sok előnyét is. Adott esetben akár kipakolhatjuk őket a lokális NAS-ra, vagy éppen hosztolhatjuk külső szerveren. A lényeg, hogy mindvégig minden a miénk.

9 megjegyzés:

  1. Ez az ownCloud is egy cloud szolgáltatás, nem? Itt azért alapvetően a desktop app-ok kiváltása lenne az elsődleges cél. Tehát hogy a saját gépedre installálhatsz így fullos desktop appokat, amik html+js technológiával készülnek, csak így nem kell melléjük csomagolni a js értelmezőt, plusz kapsz egy admin felületet. De alapvetően desktop appokról lenne szó. (A herokus NAS-os részt csak hozzáköltöttem, hogy akár oda is ki lehet szervezni egyes appokat.)

    VálaszTörlés
  2. Az owncloud az egy saját magadnak hosztolt cloud rendszer.

    VálaszTörlés
  3. Az ok, de szerveren. Ez meg egy desktop app lenne, ami más desktop appokat hosztol. Olyan appokat, mint mondjuk torrent kliens, amit nem pakolsz ki külső szerverre. Vagy ami valami desktophoz kötött dolgot csinál, amit nem lehet cloud app-al megoldani.

    VálaszTörlés
  4. Akkor jolicloud. Tukepp vebes appokkal mukodik, persze rakhatsz offline appot is fel, mint pl vim, transmission, de alapertelmezetten mindent probal a weben megoldani.

    VálaszTörlés
  5. Érdekes elképzelés. Azért néhány dologban kellene közmegegyezés (pl. milyen adatbázis, milyen egyéb technológiák megengedettek), de ha elkészülne, akkor egy teljesen új alkalmazás-disztribúcióra adna lehetőséget: ugyanazt az alkalmazást megkaphatod a cloudban 9 dollár / hó, vagy letöltheted saját magadhoz: 99-999 dollár. Szólj ha komolyabban neki is akarsz állni...

    VálaszTörlés
  6. azert egy teljesen JS/HTML alapu rendszert hogyan oldasz meg close-source modon es persze platformfuggetlenul. Java kilove.

    VálaszTörlés
  7. Istvan Soos Alapvetően nálam az ötlet pár éve merült fel. Öcsivel torrent klienst (nem is torrent, mert kitaláltam hozzá saját protokolt, de ez most lényegtelen) akartunk csinálni, ami ugye tipikusan desktop app, mert ugye szétrúgják a segged az illegális tartalom miatt. Amikor oda jutottam, hogy UI, akkor elkezdtem vakarni a fejem, hogy akkor most álljak neki Swing-el szerencsétlenkedni. Akkor jött ez, hogy inkább legyen egy kis ikon a tálcán, fusson ott egy kis webszerver, és böngészőből lehessen elérni az egészet. Össze is raktam egy primitív változatot Jetty-vel. Nem kell nagy dologra gondolni, volt kint egy ikon a tálcán, meg futott egy Jetty valami porton, ráklikkeltél az ikonra, megnyitotta az oldalt a default böngészőben. És ugye mikor ez megjött, akkor gondoltam rá, hogy milyen jópofa lenne ezt az egészet egy ilyen konténernek használni, lenne hozzá kis piactér, és lehetne Java-s appokat venni, amik a standard szerver oldali technológiákkal készülnek (sima webapp), ugyanakkor desktop appok (elérik a fájlrendszert, bluetooth-t, használhatnak natív betéteket jni-n, stb.). Aztán az egész dolog elsikkadt mások mellett. Ezt poroltam le most node.js-el, mert az "vagányabb", és az egész app készülhetne JavaScript-el, nem válna annyira külön a kliens és a szerver oldal, jobban megmaradna a desktop app fejlesztés "élménye". Mondjuk most így újra átgondolva lehet, hogy az eredeti elképzelés jobb volt, mert ott ugye minden adott. A Java-nál adottak a szerver oldali technológiák (Servlet, JPA, stb.) és a kliens oldali technológiák (fájlrendszer elérés, JNI, stb.) is. Ez node.js-nél nem annyira kidolgozott, meg azt nem is fejlesztik desktop irányba, mint a Java-t. A környezetre vonatkozó kérdésedre valami olyasmit tudok elképzelni, mint az AppEngine, tehát JPA adatelérésre, Servlet-ek a szerver oldalra, és egy saját leíró XML. Az appoknál definiálva lenne, hogy milyen erőforrásokat/apikat használ, és ettől függően át lehetne lőni őket cloud-ba (pl. AppEngine-re), vagy futtathatnád desktopon. Értelem szerűen egy JNI-t használó app nem rakható ki cloudba, de mondjuk egy levelező program kirakható. Az egységes fejlesztést is meg lehetne oldani GWT + szerver oldali Java vagy éppen JavaScript + szerver oldali Rhino párosítással. Sőt, ha nagyon szabadjára engedem a fantáziámat, akár azt is el tudom képzeli, hogy megfelelően elkészített app-ot az Android telefonodon használj, mivel az is csak Java. Valami ilyesmi lett volna a desktop Java részét képző WebStart is, csak rossz volt a koncepció. 

    Az a bajom az ilyen "világmegváltó", "tuti biznisz" ötletekkel, hogy egy ilyet elterjeszteni nagyon nehéz. Egyszerű startupként belevágni ilyenbe, az nagyon rizikós dolog. Ha egy Google kitalál egy ilyet, és elnevezi mondjuk Chrome App Platform-nak, vagy akárminek, abban úgy lehet fantázia, de egy startup szerintem kevés ehhez. Ezért is írtam le inkább az ötletet a helyett, hogy vadul nekiestem volna fejleszteni. Amiben még lehet fantázia (bár tejesen más tészta), az hogy adsz egy dobozt. Ilyen personal cloud szerver. amit bevágsz a sarokba, van benne egy terrás vinyó, SpaceMonkey (http://www.spacemonkey.com/) szerűen szétszórt fájlrendszerrel, és arra telepítesz ilyen appokat, amiket aztán otthon elérsz a tabletről, mobilról, desktop pc-ről, és amit engedélyezel, azt a webről is. Onnan néznél videót, ott lenne a levelezésed, ott futna a torrent kliens, meg minden. Így akkor a cloud megoldás, meg nem is, mert ott van nálad otthon, fullra a te tulajdonod. Biztos lehetsz benne, hogy senki nem kukucskál bele a cuccaidba, nem birtokolja a tartalmadat, és nem szüntet meg szolgáltatásokat. Pl. a saját cloud szerveren futtatott RSS reader app-ot nem veszi ki alólad egyik napról a másikra a Google. Ezt így még eladhatóbbnak látom.

    Balazs Nadasdi

    VálaszTörlés
  8. Amúgy szerintem JS-re is lehet closed source dolgokat építeni. Átereszted egy Closure compileren, minifikálod, miegymás, és rögtön rosszabbul néz ki, mint az obfuscate-elt java bájtkód. De már inkább hajlok arra, hogy a Java jobb erre a célra, amit írtam. :)

    VálaszTörlés