Стоит ли изучать Хакс?

Для людей, которые используют Haxe, что делает его полезным для вас? Чтение сайта выглядит очень перспективно. Обеспечивает ли это значительную мобильность?

Каков реальный мир и, возможно, недооцененные преимущества?

Какие подводные камни или подводные камни?

Ответ 1

Стоит ли изучать Хейкс?

Краткий ответ: абсолютно!

Для людей, которые используют Haxe, что делает его полезным для вас?

Если вы веб-разработчик, вы знаете, что не сможете придерживаться одной технологии слишком долго. Рано или поздно вам придется иметь дело с изменениями в среде или целях (вы разрабатываете для .NET, но важному клиенту требуется PHP, или, возможно, этот виджет должен быть во Flash, а не в Javascript), и это лучший сценарий. В худшем случае вам придется постоянно переключаться, часто несколько раз в течение одного рабочего дня.

Эти переключатели могут напрасно тратить ваше время, потому что вам нужно слишком много раз менять свою парадигму программирования и, возможно, потому что у вас будет много совпадений при кодировании библиотек для конкретных целей. Haxe пытается облегчить задачу перехода, имея только один исходный язык (язык Haxe) и множество выходных данных (через компилятор Haxe). Язык очень дружелюбный и довольно легкий для изучения, независимо от вашего происхождения.

Чтение сайта выглядит очень перспективно. Обеспечивает ли это значительную мобильность?

Язык один и тот же, независимо от того, на какой платформе вы работаете. Таким образом, вы определяете классы/интерфейсы/перечисления /typedefs одинаково для JS, Flash, C++ и т.д. Если эти типы, которые вы определяете, не зависят от API конкретной платформы, их можно без труда повторно использовать с платформы на платформу совсем. Все платформы также имеют общие API-интерфейсы, такие как XML-доступ, HTTP-соединения и рефлексия. Платформы, имеющие общие черты (например, Neko и PHP), используют один и тот же API для таких вещей, как доступ к файлам или разработка веб-серверов.

Каков реальный мир и, возможно, недооцененные преимущества?

  • Если у вас есть опыт работы с Flash/Flex, вы знаете, как компилятор может замедлить вашу работу (единственное преимущество - возможность сделать перерыв на кофе во время ожидания;)). Компилятор Haxe работает во много раз быстрее, настолько быстро, что большую часть времени вы даже не замечаете, как он работает.
  • Получаемый байт-код намного быстрее, чем эквивалент, созданный инструментами Adobe.
  • Также в области Flash Haxe может "встроить" функции или получить доступ к функциям памяти, которые доступны только в другом месте с помощью Alchemy.
  • Если вам это нужно, вы также можете решить, какую версию Flash выбрать, от 6 до 10; API сильно изменился, но язык Haxe точно такой же.

Говоря о серверной части, мы все знаем, насколько распространен PHP. Вы можете разработать приложение с таргетингом на Haxe и масштабировать до Neko или даже C++, если ваше веб-приложение растет.

Какие подводные камни или подводные камни?

Вот список распространенных заблуждений:

  • Haxe is young and immature Не совсем, Haxe уже почти 4 года, он видел 25 официальных релизов (не сборок) + 13 альфа-версий и бета-версий, он постоянно обновляется и имеет очень преданное сообщество. Он профессионально используется многими людьми в нескольких областях развития; взгляните на архив списка рассылки, чтобы узнать, как люди используют Haxe.

  • Haxe is complicated Поскольку основной целью Haxe является, без сомнения, AS3, люди ожидают, что у него должны быть мастера или графический интерфейс. Как уже говорилось, Haxe - это язык и компилятор, который делает его подходящим для программистов, но не очень хорошим для дизайнеров.

  • There aren't any IDEs. Истинной частью этого является то, что IDE может быть улучшена во многих аспектах для лучшей интеграции с Haxe, но уже есть много допустимых опций.

  • The only book published is already outdated Здесь тоже есть доля правды, к сожалению, книга была опубликована всего за несколько месяцев до того, как произошел крупный выпуск (от V1 до V2). Этот основной релиз не сильно изменился, но добавил несколько несовместимостей. Книга по-прежнему остается действительным ресурсом (я говорю это не просто потому, что написала ее;))

Ответ 2

"Для людей, использующих Haxe, что делает их полезными для вас?"

Как творческая вспышка, я больше не вижу смысла в AS3! Итак, из Flash-кодера/исполнителя Flash здесь я беру:

В моем текущем проекте у меня есть 19-летний мужчина, который перешел от основных классов AS2/AS3 к классам Haxe под моим руководством и портировал оба кода AS2 и AS3. Поэтому я не думаю, что Haxe более сложно использовать, чем AS3 или при использовании во Flash существенно отличается. Что касается стабильности, то моя основная текущая проблема - это аспекты текущих Flash-плееров, Haxe действительно стабильна или стабильнее AS3 при разработке Flash.

Развитие Flash - это постоянный процесс создания библиотек, которые становятся бесполезными по мере изменения Flash (может быть, они должны продавать программное обеспечение каждый год!?), а компоненты всегда были чем-то, что мне нужно, но размеры глупы, поэтому я я не желаю следовать, как овец, в Flex или даже переходить на альтернативный XAML.

Главное преимущество Haxe заключается в том, что вы можете начать думать о создании классов, которые оторваны от платформы и будут в значительной степени использоваться через пять лет, я сомневаюсь, что это верно для любой AS3, которую вы создаете, у Haxe меньше связей ins, потенциально я мог бы скомпилировать код для JavaScript, Silverlight или того, что Google показывает дальше.

Мои основные проблемы с Haxe состоят в том, что большая часть разработки не была на Mac, поэтому аспекты компиляции С++ и новых функций Haxe иногда происходят из пользователей Windows, но у меня не было проблем с ядром Haxe, например с компиляцией Flash.

С точки зрения дизайнеров: я использую Flash IDE-фильм, загруженный во время выполнения для моих визуальных активов, и делаю то же самое при разработке в AS3, поэтому мой рабочий процесс не зависит от AS3/Haxe, мне нравится простая жизнь, поэтому я использую Textmate для AS3 или Haxe. У меня есть страсть к Flash IDE и его мощь, но я никогда не буду использовать его для кода, и большая часть моей работы с Flash - это в основном код, поэтому я не являюсь хардкором Linux, Haxe не останавливает вас, используя Flash IDE, но если вы хотите используйте swfmill или sam вы можете.

Вопрос: зачем тратить свое время на коммерческий язык AS3, который, скорее всего, изменится только для продажи будущих версий и ограничен Flash-проигрывателем?

Мне не потребовалось много времени, чтобы выйти на сцену, где я мог бы создать игру или сложный идеал в javascript, не требуя jQuery и т.д. только из коробки Haxe... он будет работать с перекрестным браузером и т.д.... Haxe позволяет мне возьмите мои навыки программирования Flash и понимание интерфейса за пределами flash (никогда не использовал JavaScript раньше), если бы я изучал чистый JavaScript, я бы, вероятно, не чувствовал себя настолько включенным, больше как кто-то отрезал мне руку, и я бы написал очень платформу, а теперь я могу использовать FEffects для tweening, а затем добавить некоторые компиляторы и скомпилировать некоторые другие платформы и использовать некоторые neash/NME.

На самом деле мне очень нравятся такие аспекты, как компилятор, умный по типам, позволяющий моему коду быть более чистым. И typedef блестящие.

Я посмотрел на PHP и решил, что это грязный грязный грязный язык и тот же для JavaScript, я так рад, что могу направить их на Haxe и не тратить слишком много времени на черную хакерскую магию.

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

Ответ 3

Мой взгляд на Хакс,

Предупреждение о том, что следующие параграфы очень философские (Практические еще ниже):

Как человек, который был открыт для многих языков программирования за короткое время программирования, и тот, кто просто движется дальше, когда я чувствую, что что-то не работает для меня; Я нахожу, что Хакс - это то, от чего я просто не могу продвинуться, я просто не могу "лучше".

В прошлом я обнаружил, что количество времени, которое я трачу на одном языке, связано с двумя ключевыми факторами: насколько мне нужно использовать этот язык для получения результата и насколько я легко понимаю этот язык. Но с Haxe период схватывания был намного короче, и я объясняю это своим небольшим накоплением знаний на разных языках. До Хакс я никогда не находил того, кто действительно меня устраивал, и это просто казалось правильным: им было трудно понять или просто бесполезно; по крайней мере, бесполезно с моей точки зрения.

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

Haxe была очень легкой для меня кривой обучения, с моим общим опытом в языках стиля c и AS2/3, и у меня на самом деле не было проблем с ее выбором. Одна вещь, которая всегда сводила на нет мою прогрессию с новым языком, заключалась в понимании концепции этого синтаксиса/структуры, но даже когда я преодолел это препятствие, я часто обнаруживал, что язык сам по себе является ограниченным, ограниченным или и тем, и другим. С Haxe я не ограничен и не считаю, что сам язык ограничивает меня. С Haxe нет стеклянного потолка, но это стеклянный пол, в котором нет предела тому, что вы можете сделать, но вы можете четко видеть, как вы туда попали.

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

Практические вещи:

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

Вы можете написать код с очень высоким уровнем кода или пойти и поиграть с небольшими кусочками и кусками (в какой-то степени на некоторых платформах).

Haxe не диктует, что вы можете и не можете сделать на какой-либо одной платформе, он дает (или планирует дать вам) полный доступ ко всему, но где он может добавить стандартизированный способ делать вещи.

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

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

Существует очень мало реальных ошибок для основного API и еще меньше для компилятора.

Каждый говорит открыто о языке своего направления и направлении, которое они предлагают для Haxe (и, конечно, почему он должен принимать это направление)

И, наконец, Haxe не является крупным частным предприятием крупной (или даже маленькой) компании, чтобы зарабатывать деньги на вас как разработчиком, вместо этого он создан для всех разработчиков, которые используют, используют и улучшают. И именно поэтому я чувствую, что Хэкс - это то место, где я хочу быть. (теперь, чтобы вернуться к кодированию)

Ответ 4

Если вы хотите получить короткий ответ: YES!

Для людей, использующих Haxe, что делает его полезным для вас?

В большинстве случаев я использую Haxe для серверной части. (Это означает, что цель PHP или неко). На мой взгляд, PHP - самый сосательный язык, который я когда-либо использовал, поэтому я начал использовать Haxe: Имея полезный язык.

Другим большим преимуществом для меня является то, что Haxe является открытым исходным кодом.

Обеспечивает ли он значительную переносимость?

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

Перенос веб-сайта с PHP на mod_tora, который выполняется в 40-80 раз быстрее, чем PHP, часто требуется 5 минут работы???

Что такое реальный мир и, возможно, под оцененными преимуществами?

  • Самое большое преимущество - переносимость кода и отличные возможности для обмена данными между платформами, никогда не было проще обрабатывать данные между клиентом и сервером. (Взгляните на раздел Remoting в вики.)
  • Сообщество отлично. (Если вам нравятся списки рассылки по крайней мере.: -)
  • Другое дело: если вам нужно выполнять собственные операции на платформе, которые не поддерживаются Haxe (что происходит очень редко), Haxe всегда дает вам варианты для их настройки. Он назвал магию Хакса. Другими словами: вы могли бы все, что могли бы сделать на родном языке платформы + все, что вам предлагает Haxe.

Каковы подводные камни или ошибки?

  • Документация, иногда установка не на 100% идеальна. Поддержка IDE может быть значительно улучшена.
  • Также трудно использовать целевой объект JavaScript, потому что Haxe предоставляет действительно хороший язык, но какая-то структура для наиболее распространенных манипуляций с DOM отсутствует, но я думаю, что некоторые люди работают над этим; -)
  • Если мне приходится работать на клиентов, им иногда не нравится идея реализовать свой проект на таком неизвестном языке.

P.S.: Я думаю, что всегда стоит изучать новый язык, поскольку он улучшает ваши навыки программирования и опыт.

Ответ 5

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

Я изучил и использовал Haxe интенсивно после первых бета и использовал его с тех пор. Это был первый язык, который я изучил (в то время я еще учился в колледже), что действительно заставило меня понять разницу между языком и API.

Вы видите в колледже, что я впервые узнал AS2, затем PHP, а затем Javascript. У нас не было официального введения в программирование (и я все равно не изучал информатику). Эти языки полностью привязаны к платформам, так как программист-новичок я автоматически предполагал, что такие вещи, как strlen(), это PHP, MovieClip - это AS2,...

Используя Haxe, я действительно понял значение объектно-ориентированного дизайна, поскольку платформа больше не ограничивала мои классы. Я мог бы повторно использовать код, написанный для Flash-проекта, в моем обычном веб-коде, если бы я отделил их от их особенностей платформы достаточно хорошо.

Из-за превосходных классов удаленного взаимодействия, которые вы можете использовать для связи между платформами, я также понял, что XML не так уж и особенный, и JSON не имеет никакого смысла без кода, который действует на него.

Для кого-то вроде меня, который только начал программировать, это было довольно большое откровение в то время, когда XML был "классным" и хорош для всего: -)

Ответ 6

Haxe - бесценный язык. Многие из них плюс-очки часто пропускаются. Например, у него есть фантастические встроенные библиотеки, которые значительно упрощают разработку приложений, таких как простой, но очень мощный ORM (Neko/PHP), полный кросс-платформенный удаленный доступ (Flash/JS/PHP/С++/Neko), где любой поддерживаемая платформа может беспрецедентно взаимодействовать с любой другой платформой, сплошной библиотекой регулярных выражений (поддержка всеми, кроме Flash < 8) и многие другие.

В качестве примечания я недавно написал приложение с использованием Haxe для PHP/JS/Flash и обнаружил, что скорость разработки была увеличена экспоненциально.

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

Ответ 7

Мое основное использование Haxe все еще ограничено разработкой Flash. Я только постепенно осознаю, что его можно использовать для других целей. Я до сих пор не вижу преимуществ в этом направлении и делаю свои PHP и JS напрямую на PHP и JS.

Несмотря на то, что я не разрабатываю для бэкэнда Neko, это большая поддержка, потому что это означает, что я могу писать тестовые примеры для кода и интегрировать их в скрипт сборки, а не только запускать их во флэш-плеере. Это очень хорошее преимущество.

Открытая природа кода и разработки также является хорошим преимуществом. Мне действительно нужен был препроцессор, поэтому в Haxe была добавлена поддержка #line. Я не думаю, что Adobe когда-либо восприняла бы мою просьбу всерьез.

Я считаю, что типизированный язык - огромное преимущество перед многими новыми современными языками.

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

Ответ 8

Субъективно я считаю, что я более продуктивен в Haxe, чем в любом другом языке. Я использую Haxe в основном для Neko и JavaScript.

Сам компилятор очень быстрый, что позволяет мне использовать Haxe как язык сценариев. Он склоняется к ориентации объекта, но имеет ряд функциональных инструментов; функции первого класса, функциональное соответствие, лямбда-библиотеки.

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

Я использую Haxe для моего клиентского контроллера JavaScript, запуская события в стандартном представлении jQuery. Это работает очень хорошо, так как вы можете одновременно проверять код клиента и сервера, сохраняя нетипизированный необработанный JS-код минимальным и сохраняя преимущества обычных библиотек JS. Доступны библиотеки JSON. Кстати, хотя Haxe поставляется с mod_ * для Apache и т.д., Я считаю, что использование прокси гораздо более гибкое, поэтому я могу настроить несколько экземпляров Neko за веб-сервером.

В целом, я думаю, что он очень хорошо продуман и продуман - и, что критично, работает так, как рекламируется на всех платформах.

Ответ 9

Я кодировал Haxe в личных и профессиональных целях около 2 лет. Есть определенные преимущества, которые у него есть, что вы не получите от других языков, самый большой из них: он был разработан почти с самого начала как современный компилятор производственного уровня, который может гибко адаптироваться к новым платформам и использовать их уникальные возможности, Это делает его наиболее близким к более высокоуровневой версии C. Если вы пишете код в Haxe, вы можете рассчитывать на то, что он будет торчать.

Поглощение сообщества было сильнее, чем вы думаете - я немного проанализировал трафик списка с точки зрения сжатых килобайт (из данных http://lists.motion-twin.com/pipermail/haxe/), и с 2006 года результат показывает увеличение на 25-50% с начала года (с января по сентябрь). За последние шесть месяцев трафик действительно взорвался, и я серьезно подумываю о том, чтобы переварить, потому что в противном случае мой почтовый ящик получает затопленный сотнями сообщений на Haxe, если я оставлю его более одного дня. Это не так раздуто, как другие языки, но это, в свою очередь, означает, что люди, прицепляющие свои вагоны к Haxe, склонны быть уверенными, хорошо информированными программистами.

Люди экспериментировали с компиляторами языка и языка в других контекстах (схема где угодно, Python или Ruby в JS и т.д.), но эти языки были предназначены для другого места и цели, а в переводе теряют много своих лучших аспекты, делая результаты классными хаками, но не удобными для повседневной работы. Хакс не чувствует себя так; в то время как у него нет удобств, связанных с интеграцией языка/времени выполнения, у него есть много других интересных вещей, которые можно предложить прямо сейчас.

Ответ 10

да, полностью

НО для этого нужна лучшая среда IDE и документация, отсутствие большой IDE (например, основанной на затмении) для меня имеет значение, и я не могу достичь уровня производительности, который я делаю в других langauges из-за этого.

язык = отлично - лучше всего на мили среда разработки = бедная (в это время и imho)

Ответ 11

У меня был Haxe на радаре с самого начала. Я согласен, что это кажется очень перспективным, но я заметил, что разработчики не принимают его так быстро, как вы ожидали (по сравнению с RoR и даже Flex).

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

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

В конце концов, Haxe помогает вам писать на одном языке и настраивать разные платформы (в основном, JS и Flash, а теперь NekoVM, PHP и С++), вам действительно нужно это!!