Отговори на тема  [ 31 мнения ]  Отиди на страница 1, 2, 3  Следваща
Питанка за многоплатформен софтуер... 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 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
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Юни 05, 2006 1:48 pm
Мнения: 4906
Местоположение: където небето среща земята, ракията е Jameson, а бирата Guinness
Мнение Re: Питанка за многоплатформен софтуер...
java
javascript

_________________
... ако трети ден не ти се работи... това означава, че е сряда !


Съб Ное 04, 2017 2:35 am
Профил
Ранг: Популярен
Ранг: Популярен

Регистриран на: Сря Окт 03, 2007 3:39 pm
Мнения: 311
Мнение Re: Питанка за многоплатформен софтуер...
http://doc.qt.io/qt-5/supported-platforms.html

_________________
In God we trust. All others must submit an X.509 Certificate


Съб Ное 04, 2017 7:53 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30684
Местоположение: София
Мнение Re: Питанка за многоплатформен софтуер...
Ами то тук въпроса е до UI, нещо което го има за всичко, QT е вариант, java .. може и жаба, скоро правихме нещо подобно, направихме го node.js и пее на хром, хром има за всичко.


Съб Ное 04, 2017 10:59 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Окт 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
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Окт 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
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 12, 2004 3:38 pm
Мнения: 9103
Местоположение: Chicago, IL
Мнение Re: Питанка за многоплатформен софтуер...
Забравих да спомена, че първите версии, дето са само за уиндоус ги пробвахме с Qt, ама нещо на мен лично работата не ми харесва с тоя Qt. Отделно трябва да се дистрибутират едни огромни длл-и с апликешъна. Джавата ми се струва супер несериозно. Един колега пък се пробва със С# и среща доста трудности даже само за уиндоус - не знам от самия С# ли е или той просто толкова си може.Аз лично клоня към с++, ама въпроса е с коя точно среда. Даже съм склонен ако ще е по-лесно да го разделим на отделни проекти - за уиндоус и за мобилните устройства, ама понеже ще се ъпдейтва постоянно хич не ми се иска да ъпдейтваме няколко проекта едновременно. Андроида и айос-а ще са само през блутута. Само уиндоуса ще поддържа трите интерфейса.


Съб Ное 04, 2017 4:31 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Фев 04, 2005 9:59 pm
Мнения: 6019
Местоположение: София
Мнение Re: Питанка за многоплатформен софтуер...
Dimitar написа:
Задачата е следната - трябва да се направи софтуер, който комуникира с една джаджа, като комуникацията може да е по USB (задължително HID), Ethernet или блутут.

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
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Окт 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
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Окт 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
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 12, 2004 3:38 pm
Мнения: 9103
Местоположение: Chicago, IL
Мнение Re: Питанка за многоплатформен софтуер...
Мерси Хищник, ще поразгледам това дето си предложил да видим няма ли да изникнат още хиляда въпроса 8) .


Съб Ное 04, 2017 10:28 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Сря Фев 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
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30684
Местоположение: София
Мнение Re: Питанка за многоплатформен софтуер...
Да въпросното рад студио, ама трябва да си купиш нов хард само за него, тръгнах веднъж да го инсталирам, двалих го обаче не издържах до края :)


Нед Ное 05, 2017 3:02 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 12, 2004 3:38 pm
Мнения: 9103
Местоположение: Chicago, IL
Мнение Re: Питанка за многоплатформен софтуер...
Аз го ползвам RAD Studio-то - и Delphi и CBuilder и CBuilder-а ми е първи избор за сега, просто исках да събера и други мнения, защото може и да има нещо по-добро.

Тони, що ве - само 25 гиги е цялото рад студио :D .


Нед Ное 05, 2017 7:28 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Съб Сеп 17, 2005 5:07 pm
Мнения: 813
Местоположение: Сливен
Мнение Re: Питанка за многоплатформен софтуер...
мое мнение е ,че козата си сака пръч.
Джамовете -> .NET
Андроид - > java
ios - > swift
всичко друго ще е компромис откъм дадена платформа и ъпдейтите и :) т.е аз съм За три различни приложения .
А и начина на работа на трите платформи откъм GUI доста се различава .. въпреки че напоследък почват да се уеднаквяват като че ли.

_________________
Код:
while(true);


Пон Ное 06, 2017 12:02 am
Профил ICQ
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 31 мнения ]  Отиди на страница 1, 2, 3  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 6 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни