Вопрос

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

(Я не уверен, что это такая хорошая идея, потому что каждая платформа предлагает другой пользовательский опыт и метафору пользовательского интерфейса. В некоторых случаях размеры экрана также различаются. Кроме того, iPhone не работает, независимо от того, какой язык мы используем. Но. , Я отвлекся...)

Проект будет отображать произвольный блок текста каждый день и будет отслеживать, если пользователь будет «читать» его. Некоторые другие функции на столе - «НАГС» и возможность перейти к тексту еще один день.

Я знаю Flash с CS3 дней, и я думаю, что это переводится в воздух, но я не знаю, может ли воздух делать то, что мы хотим.

С другой стороны, у меня есть (а) небольшой опыт работы с Java или Python, но они также кажутся хорошими претендентами.

Какой язык мне здесь использовать? Почему?

Редактировать:

Это будет работать и на настольных платформах.

Это было полезно?

Решение

ActionScript 3 - это язык. Он работает на широком разнообразии платформ. В браузере (Flash Player), на рабочем столе (AIR), на мобильных устройствах в браузерах (Android), а также в качестве нативных приложений (Android и iOS оба). Забудь о Flashlite.

Другие советы

Это языки, которые имеют очень хорошие факторы развертывания:

JavaScript.

Почему? Он работает в браузере, и у большинства платформ, о которых вам интересно, есть браузер. Тем не менее, некоторые мобильные телефоны нижних конечных мобильных телефонов могут быть сильно разброшенными браузером (или Opera Mini, который поддерживает JavaScript только на прокси-стороне и очень ограниченный клиентский JavaScript).

JVM

Virtual Machine Java вездесущей практически на каждом мобильном телефоне, настольном или серверном компьютере. При прочих равных условиях, возможно, это лучшая платформа, если вам нужна легкая портативность. Почти каждый мобильный телефон, старый и новый, поддерживает JVM, единственное главное исключение - iPhone.

Питон

Python очень вездесущ в мире Linux и Unix; И язык имеет очень последовательное поведение на разных платформах, вам почти не нужна дополнительная работа, чтобы написать кроссплатформенную программу в Python. Тем не менее, большинство Windows не поставляется с Python по умолчанию, и большинство мобильных телефонов не поддерживает Python. Otoh Jython, компилированное код Python в JVM; Это сочетает в себе консистенцию и простоту использования Python с повсеместной платформой JVM.

Если вам не нужно заботиться об iPhone, то разработка JVM - это путь. Если вы ненавидите языковой синтаксис Java, то Jython - более приятная альтернатива. Если вам нужна самая переносимость, JavaScript, вероятно, является то, что нужно; Однако писать что -нибудь в JavaScript болезненно.

В

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

Бесплатный Паскаль

Бесплатный Паскаль (AKA FPK Pascal) - это профессиональный компилятор Pascal с открытым исходным кодом и 64 -бил. Он доступен для разных процессоров:

  • Intel X86
  • AMD64/x86_64
  • PowerPC
  • PowerPC64
  • Пропасть
  • РУКА

В настоящее время поддерживаются следующие операционные системы:

  • Linux
  • FreeBSD
  • Хайку
  • Mac OS X/Darwin
  • Дос
  • Win32
  • Win64
  • Винс
  • ОС/2
  • Netware (Libc и Classic)
  • Морфос

Перераспределенная версия 1.0 также поддерживает Motorola 680x0.

Лазарь является кроссплатформенным IDE с открытым исходным кодом, которая обеспечивает опыт разработки Delphi-мимического развития для разработчиков Pascal и Object Pascal. Он разработан и поддерживается бесплатным компилятором Pascal. Lazarus доступен для Microsoft Windows, нескольких распределений Linux, FreeBSD, а также Mac OS X.

Lazarus

С .net, Мононуклеоз, Gtk#, Монотуш а также Моно для Android Вы можете достичь подавляющего большинства платформ с любым языком .NET и на каждом из них иметь нативного пользовательского интерфейса.

  • .NET принесет вам
    • Asp.net для Интернета
    • Silverlight для Интернета в Windows и Mac (Moonlight от Mono приводит вас в Linux!)
    • Silverlight для Windows Phone 7
  • Mono с GTK# доставит вас
    • Mac OS X
    • Linux
    • Другие, возможно, но менее местные. Я слышал, что некоторые попали на Wii с моно. Анкет Анкет
  • Monotouch для iPhone, iPad и т. Д.
  • Монодроид для Android
  • BlackBerry .NET - Сначала я слышал об этом, но они говорят .NET на Blackberry, я предполагаю с QT.

Не могу думать ни о каких других крупных платформах, которые вам там не хватает. Ты? Конечно, это указывает на фреймворки, которые вы можете использовать для нацеливания на все эти платформы. Я позволю вам выбрать язык. C#, Oxygene или VB.NET являются самыми популярными на .NET. Оксиген (включенный в Delphi Prism) имеет дополнительное преимущество в том, что он частично совместимый с Delphi, родным для разработки нативных окон, но если вы хотите использовать Ironruby или F#, мы не остановим вас.

Вы можете взглянуть на http://www.phonegap.com/

Приложение, которое вы детализируете, звучит очень просто, и лично я не фанат слоев, которые сидят над нативной платформой, однако это может быть идеально для вас.

РЕДАКТИРОВАТЬ: кажется, что природа вопроса несколько изменилась.

Похоже, это для правильных мобильных платформ? В этом случае вам в значительной степени не повезло, так как нет языка, чтобы управлять ими всех. Есть продукты, которые будут перекрестно компилировать решение для другого (например, как http://www.xmlvm.org/android/) но помимо этого вам придется использовать родной язык/окружающую среду.

хм, как насчет хакс? Сейчас вы можете нацелиться на множество платформ, и если вы узнаете OCAML, вы можете написать новый бэкэнд на все, что вам нужно.

я Недавно прочитайте, как Netflix развертывается на более чем 400 платформах с использованием HTML5. Это определенно стоит прочитать.

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

LiveCode / Runtime Revolution

Развертывает на Mac, Windows и Linux и производит автономное программное обеспечение для всех видов других платформ.

С помощью C# .NET вы можете развернуть на любой крупной мобильной платформе (большая разница от HTML 5 платформ, таких как PhoneGap, которые в основном представляют собой гибридные веб -приложения) с использованием моно (для Android), Monotouch (для Apple) и BlackBerry.net.

Язык и платформа хорошо поддерживаются Microsoft, и многие работодатели ищут этот набор навыков. Если вы не полностью проданы, просто перейдите на свой любимый веб -сайт технической работы и начните подключать разные языки/платформы в поле поиска. Вы получите представление о том, в каком направлении вы хотите взять.

Adobe Flash/Flex

(Не уверен, было ли это исключено в вашем вопросе)

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

Читать: http://business2press.com/2010/09/11/adobe-reversi-allows-developers-to-make-single-app-for-different-platforms/

Смотреть: http://www.youtube.com/watch?v=22vicdlzmki&feature=player_embedded

Лицензировано под: CC-BY-SA с атрибуция
scroll top