Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: oraf 02. 02. 2014, 12:10:55
-
Zdravim ,
jaky je vas nazor na programovani RPi v Jave?
potrebuju tvorit aplikaci s GUI, a idealne pristupovat ke GPIO .
Celkem ma zkusenosti s Javou.
ale bojim se toho ze vetsinu vykonu pak zhltne Java VM, a aplikace pobezi hodne line,
nejake doporuceni? porpipade podobny jazyk jako Java, kde se da i pohodlne prez nejaky designery tvorit GUI?
diky
-
Doporučení je naprogramovat to pořádně. Pak se nemusíte bát, že vám VM zhltne většinu výkonu. Ani u Javy ani u žádného jiného jazyka.
-
tak to je jasne, , ale prece jen Rpi , neni uplne nejvykonejsi stroj
-
vygoogli Oracle java se embedded raspberry pi,mas tam hned aj navod
-
diky;-) to mozna bude co hledam
-
Javu mám hodně rád, ale výkon RPi je fakt slabý, s desktopem nebo serverem je to úplně nesrovnatelné. Java tam sice funguje, zkoušel jsem to, ale ta pomalost je podle mého za hranou. Na GUI je Java na tomto HW podle mého nevhodná. Nejlepší by bylo to napsat v C/C++. Vybral sis prostě minimalistickou platformu, tak tomu budeš muset přizpůsobit i ty nástroje a vzdát se toho komfortu, na který jsi zvyklý z Javy a desktopu/serveru. Ale pokud by to byl nějaký démon běžící v pozadí a u kterého je ti jedno, jestli požadavek vyřídí za půl vteřiny nebo za dvě vteřiny, tak to klidně použij.
P.S. mluvím o OpenJDK – možná že s jiný VM by to použít šlo, ale nemám to vyzkoušené – ostatně Java běhá i na starých mobilech (ME) nebo uvnitř čipových karet, které na tom budou výkonově mnohem hůř než RPi.
-
Myslíš, že třeba C++ s Qt na tom bude výrazně lépe? Já bych na to nesázel. Podle mne je tomu RPi potřeba přizpůsobit celou aplikaci -- tedy třeba i to, jak košaté to GUI bude. No a pak se třeba ukáže, že jeden formulář s pár tlačítky zvládne jakýkoli GUI toolkit. Nebo se ukáže, že na to je potřeba nějaká minimalistická knihovna, která třeba vykresluje přímo přes OpenGL. Pak zase bude záležet na tom, pro jaké jazyky a platformy bude mít ta knihovna rozhraní.
Větší problém bych viděl v tom GUI tvořeném přes nějaký klikací designer. To si tam člověk natahá spoustu komponent, protože je to snadné, a pak se to nedá pořádně používat ani na superrychlém počítači, protože než uživatel zjistí, jak se to má vlastně celé ovládat...
-
O aku aplikaciu by islo? Musi to komplet bezat na Rpi? Ak by ta mal brzdit vykon mozno bude lepsie rozdelit to. Na Rpi nech bezi service na ziskavanie potrebnych dat a odosielanie cez siet a gui mozes riesit na telefone/tablete/notebooku.
-
Myslíš, že třeba C++ s Qt na tom bude výrazně lépe?
Zkoušel jsem na RPi provozovat jednu svoji CLI aplikaci a bylo to cca 5-10× pomalejší než na mém desktopu, což už bylo více méně za hranicí použitelnosti (pro interaktivní práci). Fajn je, že to běží úplně stejně jako kdekoli jinde, prostě multiplatformní Java, ale ten výkon byl fakt slabý. Asi to OpenJDK pro ARM není moc optimalizované.
C++ na tom bude určitě líp. S tím Qt je to otázka, ale přijde mi, že se docela snaží, aby to na mobilech bylo použitelné.
Jinak souhlas, že návrh aplikace musí být o dost jiný než pro desktop, o hodně úspornější, jednodušší.
BTW: co nějaké Java ME JRE pro tyhle zařízení? Existuje? Máte s tím někdo zkušenosti? Kdysi jsem měl takové JRE na PDA – dalo se psát v Javě (byť jen ME) a bylo to rychlé. Nebo ještě zkusit Android…
-
no, a pak tu jsou takový hovádi, co na RasPi portujou minecraft...
-
Zajímavé srovnání by bylo, porovnat rychlost Pythonu a Javy na RPi.
-
Zkoušel jsem na RPi provozovat jednu svoji CLI aplikaci a bylo to cca 5-10× pomalejší než na mém desktopu, což už bylo více méně za hranicí použitelnosti (pro interaktivní práci). Fajn je, že to běží úplně stejně jako kdekoli jinde, prostě multiplatformní Java, ale ten výkon byl fakt slabý. Asi to OpenJDK pro ARM není moc optimalizované.
C++ na tom bude určitě líp. S tím Qt je to otázka, ale přijde mi, že se docela snaží, aby to na mobilech bylo použitelné.
Pokud bude Java+Swing nebo C++ + Qt pomalé, ještě to neznamená, že to musí být pomalé při použití Javy nebo C++ s jinou knihovnou.
-
snad aspon trocha relevantne:
GPIO performance: http://www.savagehomeautomation.com/projects/raspberry-pi-java-gpio-frequency-benchmarks.html
pi mikrobenchmark: http://www.raspberrypi.org/phpBB3/viewtopic.php?f=81&t=25418
GUI benchmarky som nenasiel, iba http://stackoverflow.com/questions/18947998/best-java-gui-performance-on-raspberry-pi
-
no, a pak tu jsou takový hovádi, co na RasPi portujou minecraft...
Ano, ale Pi edition neni napsana v Jave, ale v C++ :-\