2013. március 18., hétfő

Eddig az alternatív futtató környezeteket használó Android alkalmazásokkal az volt a bajom, hogy sok helyet...

Eddig az alternatív futtató környezeteket használó Android alkalmazásokkal az volt a bajom, hogy sok helyet foglalnak, és ugye hiába van sok G-s SD kártya minden telefonban, ha az app memória olyan szűkös, hogy megákon kell spórolni. Ugyanakkor a ksweb kapcsán jöttem rá, hogy a dolognak egy olyan előnye, hogy az ilyen app-ok teljesen függetlenek a DalvikVM-től. Csak egy pár K-s behúzó kód kell, ami letölti a valódi futtatókörnyezetet az SD kártyára, és elindítja. Így lehetne Adroid alkalmazásokat fejleszteni .NET-es környezetben (Mono), JavaScript-ban (V8), de akár Python-ban, PHP-ben, stb. Egyszerűen mindenki vihetné magával a kedvenc környezetét, ami adott esetben pár tíz mega is lehet (ksweb webszerverrel, mysql-el, PHP-val, meg minden szutyokkal olyan 40M körül van), de SD kártyán kényelmesen elfér, és maga az apk csak pár K-t foglalna. Akár komplett oprendszert is lehetne telepíteni így egy pár K-s appal, ami SD-ről fut.

Ez igazából az Android szabadságából ered. A natív app támogatásból, és hogy lehetőséged van ezeket SD-ről futtatni. Igazából nem új dolog, lehet, hogy sok helyen ki is használják, csak most tudatosult bennem mindez, és ennek örömére gyorsan leírtam. Kezdek fantáziát látni a telefonon futtatott lokális webappokban ... (Mint amilyen Sancho Virág Attila  rss olvasója, vagy Papp Zsolt  Drupal szervere. De ennyi erővel az ember írhat magának kis TODO app-ot, naptárat, meg hasonló kis okosságokat minden Java tudás nélkül úgy, hogy csak PHP-hez ért.)

13 megjegyzés:

  1. Jo otlet a sajat kis munkakornyezet. Kiprobaljuk?

    VálaszTörlés
  2. Csinálhatunk egy webszervert, annak nem látom akadályát. Az AirDroid is hasonlóképpen működik. Ott is kapsz egy webes felületet, melyre fel tudsz csatlakozni előre konfigurált jelszóval, QR kóddal, de akár az aktuálisan generált véletlenszerű jelszóval is. Ott tulajdonképpen teljes mértékben átveheted az irányítást a telefonod felett gépen böngészőből. (Ha jól tudom, bár nem próbáltam, most már nem is kell egy hálózaton lenni, mert webes felületről is tud csatlakozni, amennyiben a készüléken van internetelérés.)

    Például csengőhang-, ébresztő hang beállítás, fájlkezelés, alkalmazáskezelés, képnézegetés, képernyőmentés és sok-sok hasznos dolog. Nekem ezt must have app.

    VálaszTörlés
  3. Bulcsú Bargel Mondjuk ezek közül sokhoz már azért trükk kell. Szóval ha csak PHP-ben gondolkodsz például, akkor telefon natív funkciókat elérni nem olyan egyszerű. Egy sima web appal nincs gond. Tehát jegyzettömb, bevásárló lista, naptár, levelező program, stb. megoldható egyszerűen, de mondjuk csengőhang állítás az már bonyodalmasabb. PHP-ból max parancsokat tudsz futtatni, de ezekhez a dolgokhoz szerintem a telefon natív api-jának hívása kell mindenképp. Tehát ilyesmihez kellene már valami plusz okosság.

    VálaszTörlés
  4. Ezzel tisztában vagyok. AirDroidot példának hoztam csak, hogy ilyet is lehet. Amit én szeretnék, az csak sima webapp lenne, próbaként. A bajom nekem csak annyi, hogy nincs időm, és csak hobbi a programozás.

    PHP-val úgy állok, hogy procedurálisan megy-megy, MySQL-lel eddig blogmotort írtam, illetve egyéb feladatokat ellátó kódokat, de azt nem saját célra. Egy címkekezelő blogot kommentrendszerrel, kategorizálással, felhasználókezeléssel meg tudok oldani, és megy is, jó is. Ezalatt ment a regisztráció, levélküldés, aktiváció, bejelentkezés, poszt írás, szerkesztés, piszkozatkezelés, archiválás, törlés. Üzenőfal és fórum sem akadály ilyen úton, de mivel csak hobbi, ezzel fejlesztem tudásomat, és egyre jobb kódokat írok, remélem! ;)

    Jó lenne ezt a plusz dolgot is elsajátítani.

    VálaszTörlés
  5. Krisztián Kovács Ha minden app-hoz minden szart hozzácsomagolsz, akkor nincs ilyen ez meg az hiányzik gond. Egy komplett LAMP környezet olyan 20M-nál van, de ez már 'monstrumnak' mondható. Egy .NET futtató környezet, vagy V8 szkript motor 3M körül van. Ha hozzáveszel minden sallangot, akkor is olyan 10M-s appokról beszélünk, ami apk-nak nagy, de egy 1G-s SD-n nem érdekel senkit. A lemezműveletek sem olyan szű keresztmetszet szerintem. Sok mindent lehet membe cache-elni, meg sok minden magától cache-el is. pl. MySQL is csak akkor nyúl a tárolóhoz, ha muszáj. Szóval egy átlag app szerintem nem használja olyan mértékben a tárolót, hogy emiatt az SD-ről futás feltűnő legyen. De ha esetleg mégis, akkor szerintem a behúzó apk jogaival fut, tehát a neki dedikált belső tárolót szerintem el tudja érni, ha kell.

    VálaszTörlés
  6. Ez a standard android app-okkal is így van. Azok sem osztoznak tárolóhelyen. Vagy melyik részére érted, hogy pazarló?

    VálaszTörlés
  7. Ja, persze, pazarló. De 3-4M mit számít egy pár G-s SD kártyán. Szóval ennek a dolognak van egy előnye, hogy a saját környezetedben fejleszthetsz (pl. .NET-ben, vagy JavaScript-ben natív appokat), és van egy hátránya, hogy az app néhány megával nagyobb. Viszont szerintem az előnye sokkal hangsúlyosabb, mint a hátránya, tekintve a háttértároló méretét. Ha fejlesztek egy sima Android app-ot mondjuk QR kód olvasóval, akkor abba is bele kell fordítanom a QR kód olvasót, nincs ilyen dll-ezés, mint win-en. Szóval a jelenlegi megoldás is pazarló. Ha pedig arányaiban nézem (belő tároló méret vs. apk pazarlása, vagy SD mértet vs saját környezet pazarlása), akkor talán a hagyományos eset még pazarlóbb is.

    VálaszTörlés
  8. Csak ötletfelvetés volt. Igazából ezek létező dolgok, csak annyi, hogy ki kellene rakni sd-re. A ksweb szerintem most is sd-n tartja magát, és azzal lehet php-t futtatni. Annyit lehetne esetleg csinálni, hogy készíteni egy kis desktop app-ot, ami elő tud neked állítani egy apk-t, ami lerántja sd-re a php app-odat, és akkor lehetne php-ban androidra fejleszteni. Annyi előnye lenne, hogy nem kellene külön ksweb-et feltenni, de nem tudom, hogy emiatt érdemes-e fejleszteni valamit. 

    Vagy minek a megcsinálására gondolsz?

    VálaszTörlés
  9. Akkor szopás. :) Ilyen háttérben futó izékre nem jó, de a legtöbb esetben az sem egy olyan nagy megkötés, hogy csak felcsatolt sd-vel megy.

    VálaszTörlés