На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! В разделе обсуждаются следующие темы:
1) Процесс разработки программного обеспечения.
2) Определение требований к программному обеспечению.
3) Составные части и процесс проектирования (см. Шаблоны проектирования).
4) Документирование программного продукта(проекта).
5) Руководство разработкой программного обеспечения.
6) Проектирование пользовательского интерфейса.
7) Контроль версий проекта (см. Управление версиями в Subversion, Стратегии использования svn).
Модераторы: ElcnU
  
> Помогите в выборе среды разработки и средств реализации
    Здравствуйте, передо мной поставили следующую задачу:
    Задача
    проектирование и разработка кросс-платформенного приложения (Windows, Linux, Android и, возможно
    Mac OS).
    План-минимум:
    - Авторизация по логину/паролю (пока статическим)
    - После авторизации отображение формы ввода с несколькими текстовыми
    полями (например, ФИО и телефон)
    - локальное сохранение введённых данных
    - подключение к удалённому серверу по SSL

    План-минимум+:
    - работа с оборудованием (обращение к COM-портам, работа с
    оборудованием по спецификации PC/SC)
    - организация удалённого обновления приложения.


    Но перед её выполнением необходимо выбрать среды разработки и средства реализации кросс-платформенности, позволяющих программу реализовать. Сам я никогда с таким не сталкивался, поэтому обращаюсь за помощью к знающим людям.
    Что посоветуете?
    Заранее спасибо
      Java :rolleyes:
        вот что мне ответили насчет java:

        Цитата
        Сомневаюсь насчёт Java (так как необходима будет работа с
        оборудованием).


        что это значит?
          Для оборудования скорее всего нужны дрова под каждую из осей. Смотря какое оборудование, но COM порты по-любому обслуживать не должно быть проблем. PC/SC не знаю, но похоже готовые решения тоже есть: http://www.springcard.com/blog/2010/java-pcsc-accessing-smartcards-from-a-web-page/
            спасибо, попробую доказать что java вполне подходит для решения задачи!:)
              c++ + Qt
                я бы не делала никакий поспешных выводов. очень рекомендую создать матрицу решений - в интернете можно поискать шаблон. что туда должно входить:
                можно сделать, например, в экселе.
                - определить выжные для задачи критерии (общие - безопастность, перформанс, memory footprint, тестирование, стабильность и т.д. и специальные для задачи). каждый критерий имеет коеффициент важности - от 1 до 5 (1 - менее важен, 5 - очень важен)
                - потом определитьскя с алтернативами
                - создать матрицу (одна ось - критерии, вторая - алтернативы) и оценить все альтернативы к каждому критерию по 5 бальной шкале. посчитать это с коеефициентом важности и посмотреть, у кого больше всего пунктов.
                очень рекомендую такой подход, т.к.
                1. сам намного больше о плюсах-минусах задумываешься
                2. легче обосновать в диалоге с другими, почему стоит делать именно так, как предлагаешь
                  c# + .net framework (mono)
                    Цитата nemez @
                    c# + .net framework (mono)

                    Ага. Особенно под Mac OS и Android.


                    Цитата ReaR @
                    Здравствуйте, передо мной поставили следующую задачу:

                    А что будет составлять основную функцию приложения то? :) Как это должно выглядеть - мы уже поняли. :D

                    Цитата Машина @
                    Java :rolleyes:

                    Есть подозрение, что MacOS немножко лесом пойдёт. Там ObjectiveC + Cocoa в почёте.

                    Цитата sploid @
                    c++ + Qt

                    Более менее. Только без Qt (Android идёт лесом).
                      Цитата Flex Ferrum @
                      Есть подозрение, что MacOS немножко лесом пойдёт.

                      С чего это? :rolleyes:
                        Цитата Машина @
                        С чего это? :rolleyes:

                        Я же пишу: "Есть подозрение" ;) Если не идёт - то и хорошо. :D
                          Цитата 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.
                            Цитата Flex Ferrum @
                            c# + .net framework (mono)

                            Ага. Особенно под Mac OS и Android.


                            андроид:
                            http://habrahabr.ru/blogs/mono/119001/

                            и кагбэ макос икс
                            http://www.mono-project.com/Mono:OSX
                            там есть моно
                              спасибо всем! просмотрел информацию в интернете - вроде вполне можно решить задачу и на JAVA, но заинтересовала возможность уйти от JAVы(не очень люблю этот язык). поэтому сейчас буду собирать информацию 1. С++ + Qt и 2. C# + .Net framework (mono)
                              вот такой документик настрочил насчет JAVA:) думаю там ламерства хватает))
                              на самом деле даже хочется уйти от JAVA :)
                              Прикреплённый файлПрикреплённый файл______________________.doc (38,5 Кбайт, скачиваний: 545)
                                Цитата Flex Ferrum @
                                Ага. Особенно под Mac OS и Android.

                                Это конечно изврат, но он есть http://android.xamarin.com/
                                ReaR, тебе придётся писать разные софтины под разные оси. То что бегало под виндой на Андроиде не взлетит.

                                Добавлено
                                Но джава - без вариантов.
                                  Цитата
                                  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.

                                  ExpandedWrap disabled
                                    // класс, открывающий принтер как файл
                                    // и записывающий в него строку "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 обратиться):
                                  user posted image
                                    Цитата raxp @
                                    напрямую работать с железом - никак.

                                    Так на то она и кроссплатформенность. Если напрямую с железом работать - то велкам в мир Си и писать 10 реализаций.
                                    Цитата raxp @
                                    единственно, с андроидом заминка.

                                    :lol:
                                      Цитата
                                      Так на то она и кроссплатформенность

                                      так об чем и речь.

                                      user posted image
                                      уж совсем универсальных решений нет, это как губозакаталка ;)
                                        Цитата raxp @
                                        уж совсем универсальных решений нет, это как губозакаталка

                                        Почему нет? Пишем либу на джаве со всем функционалом, топом для каждой плаформі добавляем гуи (для десктопа они будут общими)
                                          вроде на андроид проги пишут под явой, поэтому я подумал - наверное проще будет переделать с явы-ПК на яву-Андроид:)
                                          спасибо всем, сейчас у меня уже другие проблемы с разработкой:)
                                          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                          0 пользователей:


                                          Рейтинг@Mail.ru
                                          [ Script execution time: 0,0474 ]   [ 18 queries used ]   [ Generated: 25.04.24, 17:01 GMT ]