|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 8:03 am
Питанка за многоплатформен софтуер...
| Автор |
Съобщение |
|
Dimitar
Ранг: Форумен бог
Регистриран на: Пет Ное 12, 2004 3:38 pm Мнения: 9103 Местоположение: Chicago, IL
|
 Питанка за многоплатформен софтуер...
Задачата е следната - трябва да се направи софтуер, който комуникира с една джаджа, като комуникацията може да е по USB (задължително HID), Ethernet или блутут. Т.е. джаджата ще поддържа всичките 3 протокола и според това на какво сметало работи програмата, дето трябва да се направи ще ползва един от тия три интерфейса (само един във всеки един момент). Комуникацията ще е основана на хенд шейк месиджи, но трябва да има и таймаутове, докато се чака отговор, демек трябва да е многонишково приложение, за да не се фризва GUI-то, което ще показва разни информации през цялото време. Скоростите на трансфер ще са макс 1-2 мегабита в секунда, а таймаутовете може да са от 50 милисекунди до 2 секунди. Питанката е каква среда и език да се ползва, за да е най-лесно да се направи това приложение за Windows, Android и iOS. Възможно ли е това или трябва да се правят три различни приложения за различните среди? Аз си мислих за новия CBuilder с разширенията му мобилни приложения и възможността да се компилира едно нещо за всичките тия среди.
|
| Съб Ное 04, 2017 1:58 am |
|
 |
|
MYXATA
Ранг: Форумен бог
Регистриран на: Пон Юни 05, 2006 1:48 pm Мнения: 4906 Местоположение: където небето среща земята, ракията е Jameson, а бирата Guinness
|
 Re: Питанка за многоплатформен софтуер...
java javascript
_________________ ... ако трети ден не ти се работи... това означава, че е сряда !
|
| Съб Ное 04, 2017 2:35 am |
|
 |
|
goose
Ранг: Популярен
Регистриран на: Сря Окт 03, 2007 3:39 pm Мнения: 311
|
 Re: Питанка за многоплатформен софтуер...
_________________ In God we trust. All others must submit an X.509 Certificate
|
| Съб Ное 04, 2017 7:53 am |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30684 Местоположение: София
|
 Re: Питанка за многоплатформен софтуер...
Ами то тук въпроса е до UI, нещо което го има за всичко, QT е вариант, java .. може и жаба, скоро правихме нещо подобно, направихме го node.js и пее на хром, хром има за всичко.
|
| Съб Ное 04, 2017 10:59 am |
|
 |
|
Predator_MF
Ранг: Форумен бог
Регистриран на: Чет Окт 07, 2004 1:22 pm Мнения: 1949 Местоположение: София
|
 Re: Питанка за многоплатформен софтуер...
ChromeApp работи много добре за подобни неща (поддържа HID), за съжаление няма да работи на мобилни устройства. Qt е вариант, но на Android е ужас. Вариант, който аз бих направил е, нативно C/C++ в комбинация с libcef за windows, а за android/ios използвайки вградените им webview-та, така GUI може да се направи на html/js, а комуникацията да остане нативно. Не съм сигурен обаче, че iOS има (публично достъпен) api за HID.
|
| Съб Ное 04, 2017 2:22 pm |
|
 |
|
palavrov
Ранг: Форумен бог
Регистриран на: Вто Окт 11, 2011 11:53 pm Мнения: 4582 Местоположение: Brussels / Пловдив
|
 Re: Питанка за многоплатформен софтуер...
Избери си - node (с reactnative за ios/android, electron за windows), qt ... за cbuilder отдавна нямам наблюдения какви платформи точно поддържа, но нищо чудно и той да свърши работа, че и по добро от останалите.
Едит:
Java-та не е удачен избор за iOs.
Не се подлъгвай и за .net/xamarin - теоретично уж става, но няма кой знае колко употреба в практиката по мои наблюдения.
_________________ Мразя да мразя ...
|
| Съб Ное 04, 2017 3:02 pm |
|
 |
|
Dimitar
Ранг: Форумен бог
Регистриран на: Пет Ное 12, 2004 3:38 pm Мнения: 9103 Местоположение: Chicago, IL
|
 Re: Питанка за многоплатформен софтуер...
Забравих да спомена, че първите версии, дето са само за уиндоус ги пробвахме с Qt, ама нещо на мен лично работата не ми харесва с тоя Qt. Отделно трябва да се дистрибутират едни огромни длл-и с апликешъна. Джавата ми се струва супер несериозно. Един колега пък се пробва със С# и среща доста трудности даже само за уиндоус - не знам от самия С# ли е или той просто толкова си може.Аз лично клоня към с++, ама въпроса е с коя точно среда. Даже съм склонен ако ще е по-лесно да го разделим на отделни проекти - за уиндоус и за мобилните устройства, ама понеже ще се ъпдейтва постоянно хич не ми се иска да ъпдейтваме няколко проекта едновременно. Андроида и айос-а ще са само през блутута. Само уиндоуса ще поддържа трите интерфейса.
|
| Съб Ное 04, 2017 4:31 pm |
|
 |
|
ike
Ранг: Форумен бог
Регистриран на: Пет Фев 04, 2005 9:59 pm Мнения: 6019 Местоположение: София
|
 Re: Питанка за многоплатформен софтуер...
Bluetooth уж подържа HID: https://en.wikipedia.org/wiki/List_of_B ... _.28HID.29 . Ако някой се е борил нека да каже дали чрез HID може да се обедени подръжката за USB и Bluetooth.
_________________ Warriors of the Night, ASSEMBLER!!!
|
| Съб Ное 04, 2017 4:38 pm |
|
 |
|
Predator_MF
Ранг: Форумен бог
Регистриран на: Чет Окт 07, 2004 1:22 pm Мнения: 1949 Местоположение: София
|
 Re: Питанка за многоплатформен софтуер...
За средата - препоръчвам CMake за целта, тъй като много по-лесно ще направиш мултиплатформен код. CMake скрипта се пише лесно но отнема малко време. Оттам на всяка платформа ти генерира проект или makefile, един от проектите ни работи на Windows/Linux/Android така. В Windows - Visual Studio 2013 или 2017, Linux - Qt Creator (и в Windows работи по същия начин но иска visual studio), Android - Android Studio 2.3, iOS - Emacs (не съм ползвал някой друг да каже). HID може да ползваш https://github.com/signal11/hidapi. Frontend GUI е малко специфично, много зависи таргет групата, кой ще работи с това и колко просто трябва да е. Ако ти се занимава, колеги от уеб средите ползват това: https://www.nativescript.org/ , пишеш JS получаваш нативно приложение.
|
| Съб Ное 04, 2017 5:41 pm |
|
 |
|
Predator_MF
Ранг: Форумен бог
Регистриран на: Чет Окт 07, 2004 1:22 pm Мнения: 1949 Местоположение: София
|
 Re: Питанка за многоплатформен софтуер...
Малко пояснение още, приложението може да бъде разбито на backend и frontend: Backend - C++ нативно library (dll /so). CMake, за да се билдва лесно на различните платформи. Съдържа логиката на приложението и комуникацията с устройствата, изнася един набор от API функции (get_device_xxx, set_device_xxx и пр). Frontend - AngularJS/CSS използвайки native script. Комуникира с backend чрез API, за удобство всички API методи бих направил JSON вход/изход, защо не и JSONRPC 2.0.
Така всичко се пише само по един път независимо от платформата. Backend в Windows се зарежда като dll с LoadLibrary(), в Android и iOS с dlopen. Frontend също се пише само един път, не е нужно за всяка платформа отделен код.
Java е ок, но в iOS няма читав начин.
|
| Съб Ное 04, 2017 6:07 pm |
|
 |
|
Dimitar
Ранг: Форумен бог
Регистриран на: Пет Ное 12, 2004 3:38 pm Мнения: 9103 Местоположение: Chicago, IL
|
 Re: Питанка за многоплатформен софтуер...
Мерси Хищник, ще поразгледам това дето си предложил да видим няма ли да изникнат още хиляда въпроса  .
|
| Съб Ное 04, 2017 10:28 pm |
|
 |
|
bobihot
Ранг: Форумен бог
Регистриран на: Сря Фев 13, 2013 3:35 pm Мнения: 1803
|
 Re: Питанка за многоплатформен софтуер...
Delphi и опен сорсовите им деривати - Lazarus/Ct го правят с вградени компоненти. Теоретически само си сменяш дестинатора- ОС+ Проц. Прави бързи нативни приложения, без нужда от .NET и подобни. Но са паскалско кодиране. Основно тях ползвам. Сега четох, че опен сорснатите не са досатъчно имплементирали iOS. CBuilder би трябвало да са му ги имплементирали подобно, но не съм го пробвал- се занимавал. "RAD Studio provides the tools that you need to develop applications that target the iOS platform. Using FireMonkey, you can create an iOS application and deploy it either for iOS simulators (Delphi) or for iOS devices (C++ or Delphi)." -Би трябвало да стане и ще са с 3Д интерфейс.
|
| Нед Ное 05, 2017 2:20 am |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30684 Местоположение: София
|
 Re: Питанка за многоплатформен софтуер...
Да въпросното рад студио, ама трябва да си купиш нов хард само за него, тръгнах веднъж да го инсталирам, двалих го обаче не издържах до края 
|
| Нед Ное 05, 2017 3:02 pm |
|
 |
|
Dimitar
Ранг: Форумен бог
Регистриран на: Пет Ное 12, 2004 3:38 pm Мнения: 9103 Местоположение: Chicago, IL
|
 Re: Питанка за многоплатформен софтуер...
Аз го ползвам RAD Studio-то - и Delphi и CBuilder и CBuilder-а ми е първи избор за сега, просто исках да събера и други мнения, защото може и да има нещо по-добро. Тони, що ве - само 25 гиги е цялото рад студио  .
|
| Нед Ное 05, 2017 7:28 pm |
|
 |
|
valioman
Ранг: Почетен член
Регистриран на: Съб Сеп 17, 2005 5:07 pm Мнения: 813 Местоположение: Сливен
|
 Re: Питанка за многоплатформен софтуер...
мое мнение е ,че козата си сака пръч. Джамовете -> .NET Андроид - > java ios - > swift всичко друго ще е компромис откъм дадена платформа и ъпдейтите и  т.е аз съм За три различни приложения . А и начина на работа на трите платформи откъм GUI доста се различава .. въпреки че напоследък почват да се уеднаквяват като че ли.
|
| Пон Ное 06, 2017 12:02 am |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 1 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|