Кроссплатформенная разработка

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by scrat, 24 Apr 2010.

  1. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    Можно сколько угодно говорить какие платформы хороши, а какие нет. Я вот лично за приложения, которые работают везде, и за IDE, с помощью которых можно везде разрабатывать, за не привязку к какому-то конкретному языку.

    Хотелось бы тут обсудить платформы, которые позволяют деплоить сразу везде(давайте не будем брать мобильные платформы, это отдельный разговор). Хочется услышать ваши точки зрения, кто как и чем пользуется, оценки, плюсы, минусы, подводные камни и всё такое.
     
    5 people like this.
  2. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    Вообще данный вопрос начал сильно меня интересовать в последнее время, когда я решил заняться разработкой кроссплатформенного твиттер-клиента на маке. Решил использовать qt, но с++ твиттер-библиотеки для него ужасны и к тому-же не линкуются на маке нормально — не самый удобный выход. Хочется чего-то на питоне, с красивым гуём(PyQt так и не захотел собираться) ну или .net, который в mono-варианте выглядит ужасно. Вот и сижу тут в в раздумиях.
     
  3. SVAROG

    SVAROG Elder - Старейшина

    Joined:
    13 Feb 2007
    Messages:
    424
    Likes Received:
    86
    Reputations:
    -1
    слышал про http://gtk.php.net/ понимаю конечно не серьезно =) сам не юзал
     
  4. ss88

    ss88 Banned

    Joined:
    27 Nov 2008
    Messages:
    160
    Likes Received:
    44
    Reputations:
    5
    А почему даже не упоминается Java SE? Работать будет везде.
    Если хочешь красивого внешнего вида Swing-приложения, то есть либы с LaF'ами такие, как Substance.

    Я думаю, не стоит разводить срачи о производительности, ИМХО, она на все равно высоте. Зато работать будет где угодно
     
  5. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    Titanium выглядит неплохо
     
  6. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    Еще один голос в поддержку джавы )
    Все работает кроссплатформенно и без хаков, куча всяческих библиотек на любой вкус и цвет + все хорошо документировано. Разработка и отладка проходит в разы быстрее в отличии например от с++ с кьтом )
     
  7. cheater_man

    cheater_man Member

    Joined:
    13 Nov 2009
    Messages:
    651
    Likes Received:
    44
    Reputations:
    7
    PureBasic ;)
    Написал для интереса блокнот и скомпилил под винду и под линуху. Конечно мало кто пользуется PureBasic, а так язык очень даже перспективный.
    p.s. поддерживает WinApi
     
  8. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    Ява, питон, перл, пхп и им подобные имеют недостатки:
    - по полной программе нельзя использовать все особенности платформы
    - код абсолютно не защищен от изменения или реверса.
    Другое дело, что есть огромное число либ и всяких примочек к ним. Это увеличивает скорость разработки в разы, но с другой стороны производительность хромает конкретно. Да и не какой оптимизации сделать не удастся.
     
  9. ss88

    ss88 Banned

    Joined:
    27 Nov 2008
    Messages:
    160
    Likes Received:
    44
    Reputations:
    5
    Вспомнил, тут вначале автор хотел Qt, для Java он тоже есть, называется Jambi.
    Да и вообще, ИМХО, это один из лучших языков/платформ.
    На работе (Exadel Inc.) все пишется на жабе и работает быстро, как серверные решения, так и клиенский софт, особенно нравится, как все бегает под Андроидом.
     
  10. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    Можно ещё попробовать связку Web + Mozilla Prism
     
  11. Qwazar

    Qwazar Elder - Старейшина

    Joined:
    2 Jun 2005
    Messages:
    989
    Likes Received:
    904
    Reputations:
    587
    Дык не стоит использовать Java для несвойственных задач (и ты зря поставил эти технологии в один ряд, Java в одном ряду с .Net, но не с теми языками, что ты перечислил). Всегда можно докупить дополнительные сервера, т.к. разработка на Java подразумевает разработку масштабируемых предложений, то вырастет и производительность.

    Про скорость работы: в тех задачах под которые заточена Java, скорость работы имеет последнее значение, т.к. задержки при работе с сетью перекрывают практически любые проблемы недостаточной оптимизации. К тому же почти в любом случае стоимость работы программиста дороже любого железа, а Java заточена под быструю разработку распределённых приложений. Т.е. оптимизация в том виде в котором её понимают C/C++ программисты совершенно не нужна. (Я не говорю об алгоритмической оптимизации).

    Так же при разработке корпоративных приложений не нужна закрытость кода , т.к. такие приложения годами пишутся под одного клиента и больше никому обычно не нужны.

    По теме - gui на Java не люблю, по мне Qt выглядит гораздо красивее. Но разработка на Java конечно проще и быстрее, и не требуется перекомпиляции.

    З.Ы.
    .Net не подходит для кросcплатформенной разработки, т.к. Mono - несчастный калека.
     
    #11 Qwazar, 25 Apr 2010
    Last edited: 25 Apr 2010
    2 people like this.
  12. Flame of Soul

    Flame of Soul Elder - Старейшина

    Joined:
    25 May 2007
    Messages:
    185
    Likes Received:
    146
    Reputations:
    45
    Ocaml-кросплатформенный, компилируемый, функциональный, объектно-ориентрированный, не самый шустрый в плане скорости, чуть повыше чем у питона, но скорость разработки тоже не плохая, ну и как плюс баги ловить не придется.

    Есть возможность на Haskell, но долго к синтаксису привыкать придется дня три не меньше.

    Lazarus-под три основные платформы есть, если дельфинчик не проблема тогда и это тем более.

    Ну и вообще вариантов очень много...
     
    1 person likes this.
  13. Serbies

    Serbies Elder - Старейшина

    Joined:
    26 Dec 2006
    Messages:
    26
    Likes Received:
    7
    Reputations:
    -1
    Во-первых что бы решить что юзать кроссплатформено яву или скриптовый язык нужно определицо что мы хотим: десктоп приложение с кавайным оформлением и доступом на локальные ресурсы, или же некое централизованное приложение, или мб нужен быстрый скрипт для упрощения работы(сюда кста можно и вписать терминал для работы офисных работников).

    На счет QT я полностью против - да фрейморк хороший, но неюзабелен для мобильных телефонов - слишком много надо ставить для его работы на целевую станцию.

    А почему никто не вспомнил простой C/C++ - если не использовать винапи и писать не на висуал студии - то легко можно переделывать исходник от одной платформы для другой - правда надо будет перекомпилировать - опять не дочитал сообщения выше - считать удаленым
     
    #13 Serbies, 26 Apr 2010
    Last edited: 27 Apr 2010
  14. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    чистый C\C++ не годится для гуя. Для мобилок он по сути под нокию, а там вроде как по дефолту все есть.
     
  15. ss88

    ss88 Banned

    Joined:
    27 Nov 2008
    Messages:
    160
    Likes Received:
    44
    Reputations:
    5
    Хм.... У вас среда разработки определяет качество программы?
    Писать можно не плохо и в блокноте. Например, для меня, одним из основных преимуществ монстровидных сред разработки является code-assist, остальное - правлю руками. Такой выбор неудивителен, т.к. я Java-developer, а эта платформа всем хороша, кроме средств разработки, которые сами находятся в непрерывной "альфе", особенно это касается плагинов к эклипсу ))))

    По-прежнему, остаюсь при своем мнении, что Java - один из лучших вариантов для кроссплатформенной разработки. Ставим UTF-8 для исходников и вперед, к светлому будущему :)

    Согласен с Qwazar'ом насчет серверного применения, потому как докупить железяку намного дешевле, чем Senior Java Developer'a )))

    ИМХО!!! Юзайте Java и будет вам счастье ))))
     
    #15 ss88, 27 Apr 2010
    Last edited: 27 Apr 2010
  16. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    Вот я тут, кстати, под него сейчас девелоплю. Очень интересная штука. Гуй пишется на html+js+python/ruby/php. При чём управление DOM-ом идёт как через js, так и через python/ruby/php, у них там общая область видимости объектов. Код автоматически деплоится для win, mac, linux в виде нативных приложений. Генериться всё автоматически и выдаются только ссылочки на инсталлеры. Ко всему тому у них там своё API для всяких штук. Ещё есть поддержка разработки под iPhone/iPad(только под маком) и Android.