Crossplatform mobil fejlesztőkörnyezet kiválasztását támogató kutatás A Mobil multimédiás kliens fejlesztői eszközkészlet létrehozása című kutatás-fejlesztési projekthez
A dokumentum célja A dokumentum részletesen megvizsgál számos potenciális keretrendszert mind műszaki, mind kereskedelmi oldalról, kitér azok erősségeire, gyengeségeire, a benne rejlő lehetőségekre és kockázatokra, majd ajánlást tesz a kritériumoknak leginkább megfelelő termékre, figyelembe véve az ITware Kft. licencdíjakra rendelkezésre álló büdzséjét. A vizsgálat kritériumai Kutatásunk során olyan keretrendszerekre fokuszáltunk, melyek megfelelnek a következő kritériumoknak: lehetőséget biztosít multiplatform fejlesztésre, különös tekintettel a Windows Mobile támogatására széles körben ismert vagy könnyen elsajátítható programozási nyelven történik a fejlesztés könnyen használható IDE áll rendelkezésre, mely a következő funkciókat biztosítja: o syntax highlighting o kódkiegészítés (ismert funkciók/változók nevének kiegészítése) o grafikus UI szerkesztő o debug lehetőség emulátoron és eszközön tartalmazzon middleware réteget, mely segítségével a vállalati rendszerekhez való integrálás jelentősen lerövidül, lehetőség szerint támogassa a következő szabványokat és funkciókat: o SOAP o JSON o REST o különböző adatbázisokban tárolt adatok elérése o LDAP alapú authentikáció támogassa a készülék perifériáinak elérését, különös tekintettel a következőkre: o kamera (QR kód és vonalkód olvasás) o GPS o képernyő tartalma (aláírás elmentése) 2.
Műszaki kérdőív Milyen platformokon működik a rendszer? Milyen technológiát használ a crossplatform elérésére? Mi a fejlesztés nyelve? Lehet-e meglévő natív library-kat használni? Milyen kommunikációs csatornákat biztosít a háttérrendszerek felé? Van-e szerveroldali a komponense, ami megkönnyíti a bonyolult integrációs feladatok megoldását? Támogatja-e az SSL feletti kommunikációt? Képes-e offline módban működni? Ha igen, milyen korlátozásokkal? Hogyan támogatja az elmaradt frissítéseket? Tartalmaz grafikus szerkesztőt az IDE? Milyen operációs rendszereken érhető el az IDE? Mennyire egyszerű megoldani, hogy az alkalmazás egyedi dizájnt használjon? Különböző képernyőméreteket és orientációkat támogatja? Van lehetőség emulátor használatára? 3.
Van lehetőség debug módban való futtatásra emulátoron és/vagy készüléken? Naplózás, automatikus hibakezelés megoldott-e? Tudja kezelni a készülék perifériáit? Jogosultságkezelés milyen módon van megoldva, ha van middleware? Gyártói marketbe feltölthető-e az app? Frissítés zökkenőmentes? Mi történik az offline adatokkal? Performancia szempontjából megfelelő-e a keretrendszerrel készített alkalmazás? Nagy adatmennyiségek esetén a natív megoldásokhoz képest mekkora lassulás tapasztalható? Nagyságrendileg hány alkalmazás készült eddig a keretrendszerrel? Nagyságrendileg hány fejlesztő ismeri Magyarországon? Mekkora csapat fejleszti a keretrendszert? Milyen gyakran jönnek ki hibajavítások? Van-e lehetőség hibajegy feladására? Trial verzió van-e? Pontozási rendszer A pontozáshoz négy kategóriát definiáltunk, melyeken belül összesen 18 kritériumot határoztunk meg. Mind a kritériumokhoz, mind a kategóriákhoz súlyozást rendeltünk. Minden kritériumot 1-5-ös skálán pontoztunk, a kritériumok súlyozott pontösszege adja a nagy kategóriák pontszámát. A végső pontszámot az egyes kategóriák súlyozott pontösszege adja. A kategóriák és kritériumok a következők voltak: Támogatott platformok (20%) 4.
o Windows Mobile (50%) o Android (40%) o iphone (5%) o Windows Phone (5%) Keretrendszer tulajdonságai (20%) o Perifériakezelés, különös tekintettel a vonalkód olvasásra (30%) o Fejlesztőeszköz (IDE) minősége (10%) o Fordítás, telepítés, debugolhatóság lehetőségei (10%) o Keretrendszer zártsága (20%) o Fejlesztőközösség/support nagysága, minősége (10%) o Mennyire van lehetőség a keretrendszerbe új funkciókat kérni a beszállítótól (10%) o Grafikus szerkesztő (10%) Vállalati integráció (30%) o Háttérrendszerekhez való kapcsolódás (25%) o Adatbázisok támogatása (25%) o WebService hívások (Soap, JSON, REST) (25%) o Adatszinkronizálás, offline működés (25%) Költségek (30%) o Ár/érték arány az igények figyelembe vételével (50%) o Van-e kliensenkénti licencdíj (40%) o Várhatóan mennyire csökken a fejlesztési költség (10%) 5.