Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.147.72.11] |
|
Сообщ.
#1
,
|
|
|
Здравствуйте, передо мной поставили следующую задачу:
Задача проектирование и разработка кросс-платформенного приложения (Windows, Linux, Android и, возможно Mac OS). План-минимум: - Авторизация по логину/паролю (пока статическим) - После авторизации отображение формы ввода с несколькими текстовыми полями (например, ФИО и телефон) - локальное сохранение введённых данных - подключение к удалённому серверу по SSL План-минимум+: - работа с оборудованием (обращение к COM-портам, работа с оборудованием по спецификации PC/SC) - организация удалённого обновления приложения. Но перед её выполнением необходимо выбрать среды разработки и средства реализации кросс-платформенности, позволяющих программу реализовать. Сам я никогда с таким не сталкивался, поэтому обращаюсь за помощью к знающим людям. Что посоветуете? Заранее спасибо |
Сообщ.
#2
,
|
|
|
Java
|
Сообщ.
#3
,
|
|
|
вот что мне ответили насчет java:
Цитата Сомневаюсь насчёт Java (так как необходима будет работа с оборудованием). что это значит? |
Сообщ.
#4
,
|
|
|
Для оборудования скорее всего нужны дрова под каждую из осей. Смотря какое оборудование, но COM порты по-любому обслуживать не должно быть проблем. PC/SC не знаю, но похоже готовые решения тоже есть: http://www.springcard.com/blog/2010/java-pcsc-accessing-smartcards-from-a-web-page/
|
Сообщ.
#5
,
|
|
|
спасибо, попробую доказать что java вполне подходит для решения задачи!:)
|
Сообщ.
#6
,
|
|
|
c++ + Qt
|
Сообщ.
#7
,
|
|
|
я бы не делала никакий поспешных выводов. очень рекомендую создать матрицу решений - в интернете можно поискать шаблон. что туда должно входить:
можно сделать, например, в экселе. - определить выжные для задачи критерии (общие - безопастность, перформанс, memory footprint, тестирование, стабильность и т.д. и специальные для задачи). каждый критерий имеет коеффициент важности - от 1 до 5 (1 - менее важен, 5 - очень важен) - потом определитьскя с алтернативами - создать матрицу (одна ось - критерии, вторая - алтернативы) и оценить все альтернативы к каждому критерию по 5 бальной шкале. посчитать это с коеефициентом важности и посмотреть, у кого больше всего пунктов. очень рекомендую такой подход, т.к. 1. сам намного больше о плюсах-минусах задумываешься 2. легче обосновать в диалоге с другими, почему стоит делать именно так, как предлагаешь |
Сообщ.
#8
,
|
|
|
c# + .net framework (mono)
|
Сообщ.
#9
,
|
|
|
Цитата nemez @ c# + .net framework (mono) Ага. Особенно под Mac OS и Android. Цитата ReaR @ Здравствуйте, передо мной поставили следующую задачу: А что будет составлять основную функцию приложения то? Как это должно выглядеть - мы уже поняли. Цитата Машина @ Java Есть подозрение, что MacOS немножко лесом пойдёт. Там ObjectiveC + Cocoa в почёте. Цитата sploid @ c++ + Qt Более менее. Только без Qt (Android идёт лесом). |
Сообщ.
#10
,
|
|
|
Цитата Flex Ferrum @ Есть подозрение, что MacOS немножко лесом пойдёт. С чего это? |
Сообщ.
#11
,
|
|
|
Цитата Машина @ С чего это? Я же пишу: "Есть подозрение" Если не идёт - то и хорошо. |
Сообщ.
#12
,
|
|
|
Цитата Flex Ferrum @ Только без Qt (Android идёт лесом). Necessitas Цитата What is Necessitas ? Necessitas is the codename for the port of Qt on the Android Operating System and of the user-friendly Qt Creator Integration with Android, This project provides you Qt for the Android Operating System, and a first-class citizen IDE letting you manage, develop, deploy, run & debug your Qt Applications on Android Devices. |
Сообщ.
#13
,
|
|
|
Цитата Flex Ferrum @ c# + .net framework (mono) Ага. Особенно под Mac OS и Android. андроид: http://habrahabr.ru/blogs/mono/119001/ и кагбэ макос икс http://www.mono-project.com/Mono:OSX там есть моно |
Сообщ.
#14
,
|
|
|
спасибо всем! просмотрел информацию в интернете - вроде вполне можно решить задачу и на JAVA, но заинтересовала возможность уйти от JAVы(не очень люблю этот язык). поэтому сейчас буду собирать информацию 1. С++ + Qt и 2. C# + .Net framework (mono)
вот такой документик настрочил насчет JAVA:) думаю там ламерства хватает)) на самом деле даже хочется уйти от JAVA Прикреплённый файл______________________.doc (38,5 Кбайт, скачиваний: 545) |
Сообщ.
#15
,
|
|
|
Цитата Flex Ferrum @ Ага. Особенно под Mac OS и Android. Это конечно изврат, но он есть http://android.xamarin.com/ ReaR, тебе придётся писать разные софтины под разные оси. То что бегало под виндой на Андроиде не взлетит. Добавлено Но джава - без вариантов. |
Сообщ.
#16
,
|
|
|
Цитата PureBasic - компилируемый язык программирования, предназначенный для создания приложений с графическим и консольным интерфейсом, а также двухмерной и трехмерной графики, для операционных систем Windows (95, 98, Me, 2000, XP, 2003), Linux, MacOS X, AmigaOS + микроконтроллеров. единственно, с андроидом заминка. Что касаемо JAVA: ...следует учесть, что напрямую работать с железом - никак. Причем, при работе с портом как с файлом нельзя управлять пинами LPT порта, для этого используются "костыли" в виде дополнительных модулей библиотек, имеющих доступ к портам. К примеру, Java JNI через Jnpout32pkg.dll или Java Native Access. javax.comm: Цитата Если порт подмонтирован к файловой системе, вы можете использовать его как файл, открывая для чтения и/или записи. Таким же путем можно выводить на печать текст, копируя его в устройство "prn" или "lpt1" на РС-совместимых системах (обязательно завершив текст символом конца файла), или в "/dev/что-нибудь" в Unix. // класс, открывающий принтер как файл // и записывающий в него строку "Hello, world" import java.io.*; public class lpt { public static void main (String[] argv) { try { FileOutputStream os = new FileOutputStream("LPT1"); //создаем "дружественный" PrintStream PrintStream ps = new PrintStream(os); //выводим текст ps.println("Hello world!"); //признак конца файла -- это важно //Без него текст просто попадет в буфер принтера // пока что-нибудь еще не будет выводиться на печать. ps.print("\f"); //сбрасываем буфер и закрываем поток ps.close(); } catch (Exception e) { System.out.println("Exception occurred: " + e); } } } Цитата Если необходимо изменить характеристики порта (напр., скорость или четность), а не просто писать или считывать данные, то, к сожалению, Java на данный момент не имеет переносимых решений для этой проблемы. Вам придется воспользоваться одной из библиотек, указанных выше, или же обратиться к системно-зависимому коду или утилите. Что касаемо COM-порта из JAVA, то тут уже проще, ибо есть готовый класс (используя виртуальный COM можно даже по USB обратиться): |
Сообщ.
#17
,
|
|
|
Цитата raxp @ напрямую работать с железом - никак. Так на то она и кроссплатформенность. Если напрямую с железом работать - то велкам в мир Си и писать 10 реализаций. Цитата raxp @ единственно, с андроидом заминка. |
Сообщ.
#18
,
|
|
|
Цитата Так на то она и кроссплатформенность так об чем и речь. уж совсем универсальных решений нет, это как губозакаталка |
Сообщ.
#19
,
|
|
|
Цитата raxp @ уж совсем универсальных решений нет, это как губозакаталка Почему нет? Пишем либу на джаве со всем функционалом, топом для каждой плаформі добавляем гуи (для десктопа они будут общими) |
Сообщ.
#20
,
|
|
|
вроде на андроид проги пишут под явой, поэтому я подумал - наверное проще будет переделать с явы-ПК на яву-Андроид:)
спасибо всем, сейчас у меня уже другие проблемы с разработкой:) |