hxpdf - библиотека для чтения PDF файлов в haXe

Похоже Николя решил перейти на выпуск одной новой библиотеки для haXe в неделю. :)
Только я написал про hscript, а он уже объявил о релизе hxpdf - новой небольшой библиотеки для чтения/обработки содержимого pdf-файлов в haXe. Библиотека кроссплатформенная, работает и для Flash9 и для Neko.

На данный момент hxpdf поддерживает только несколько основных функций:

  • парсит содержимое PDF файла
  • понимает шифрование (только версий 2.3 и 2.4)
  • понимает фильтр FlateDecode (zlib)

По словам Николя, этого достаточно, чтобы достать нужную информацию из большинства PDF документов.

Преимущества и недостатки haXe в сравнении с Flex-AS3-MXML

Кратко и сухо

Преимущества:

  • замысел -- один язык -- много платформ;
  • API флэш-плеера доступно в полном объеме;
  • можно использовать Flex-фреймворк;
  • значительное количество библиотек, в том числе 2 gui-библиотеки: arctic и fcomponentsfx;
  • язык более гибкий и лаконичный, с дополнительными возможностями оптимизации;
  • быстрый компилятор (заметно быстрее, чем mxmlc);
  • активное сообщество (англоязычное);

Imagin - фотогалерея на haXe

Хороший пример качественного законченного приложения, построенного полностью на haXe анонсировал недавно Балута Кристиан. Его детище называется Imagin и это бесплатная flash фото галерея, которая может вам понадобится, если:

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

Знакомьтесь, hscript (он же haXe Script)

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

hscript (он же haXe Script) это динамически типизированный язык, который при этом содержит большинство выражений и базовых фич самого haXe:

  • константы (int,float,string)
  • идентификаторы
  • локальные переменные и правила областей видимости
  • блоки { ... }
  • выражения в скобках ( )
  • доступ к полям объекта
  • вызовы методов
  • бинарные и унарные операции
  • конструкции if / while / for / break / continue
  • выражения ++ и --

Делаем для себя инструменты для разработки на haXe

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

Если после этой фразы вы еще сохранили любопытство, не боитесь трудностей и готовы попробовать нечто иное, то я рекомендую вам сделать инструменты разработки своими руками. Для этих целей я сам использовал Linux, Vim, Ruby, Bash. Но вам не обязательно использовать именно их.

Вам понадобится:

  • любая операционная система;

EyeTimer 0.1 - знакомимся с SWHX и Arctic

Своё знакомство с SWHX я решил начать с создания простого, но полезного приложения, аналогом которого довольно часто пользуюсь при работе в Ubuntu - там в Gnome есть возможность поставить себе регулярное напоминание о том, что пора отдохнуть, блокирующее экран на заданное время, дабы сберечь свои глаза.

Для этих же целей пока служит и EyeTimer (в будущем собираюсь построить на его основе более сложное и интересное приложение), так что теперь у меня будет такое же приложение и под Windows в которой приходится работать гораздо чаще и дольше (а если понадобится, то и для Mac, SWHX позволяет), но уже своё собственное, что, конечно, приятно.

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

Заканчиваем с лирикой, переходим к технической части.

Дебаг-сервер для отладки haXe-приложений готов

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

XMLSocket и простой сервер на Ruby

В раздел Руководство по использованию haXe и Neko добавлен пример использования XMLSocket -- взаимодействие с простым сервером на Ruby. Читать тут.

Раздел "Руководство по использованию haXe и Neko" понемногу растет

Раздел Руководство по использованию haXe и Neko понемногу растет. Добавлены небольшие примеры кода и статьи об особенностях haXe -- о локальных функциях и typedef.

haXe 2.0 на подходе

haXe 2.0 на подходе. Подробности тут.
haXe теряет обратную совместимость с версиями 1.*, избавившись от устаревшего и неиспользуемого функционала. Сделаны некоторые изменения в синтаксисе, полностью переписан пакет haxe.remoting, добавлен пакет haxe.io вместо neko.io. Удалены некоторые классы и методы.

Некоторые поклонники haXe уверены, что мозг Николаса многоядерный, с поддержкой многопоточности, и поэтому Николас может одной рукой работать над haXe 2.0, а другой рукой писать книгу об этом языке :)

Нас становится больше

Рад был недавно узнать, что среди русскоязычных любителей haXe у меня есть тёзка, который также участвует в переводах на haXe.org под псевдонимом yzh44yzh, и под этим же ником ведёт свой сайт о программировании под флэш-платформу, где публикует также материалы и переводы связанные с haXe. На данный момент это перевод статьи "Оптимизация производительности для Flash 9" и перевод первых частей из "Professional haXe and Neko".

Ну а теперь я рад приветствовать Yzh среди участников, а также авторов haXe.ru. Нас становится больше, а это значит, что русскоязычное haXe сообщество пусть пока очень медленно, но верно растёт. )

Haxe.org 2.0 - теперь полностью на haXe

Официальный сайт haXe теперь работает на новом wiki-движке написанном специально для него на haXe.

Кроме нового дизайна и самого механизма wiki реализованного полностью на haXe (понятно кем) среди новых фич давно ожидаемая синхронизация документации API ( теперь её можно редактировать и дополнять, а в момент изменения API всё будет обновляться автомагически ), а также встроенная поддержка автоматического переключения переводов на другие языки - да и делать их сейчас стало удобнее, так что я уже начал перевод новых страниц и скоро займусь переносом старых.

По собственному опыту общения с новым wiki хотел бы отметить ещё одну приятную фичу - теперь при редактировании статей не нужна больше кнопка "просмотреть" - wiki синтаксис преобразуется в предварительный просмотр на лету, в реальном времени. В общем, Николя продолжает поражать и вдохновлять на труд и на подвиги. )

"Основы haXe" завершены

Подшивка статей "Основы haXe" полностью готова.
Сегодня добавил последние несколько глав переведённых ранее и сделал новый перевод относительно свежей главы про inline - ключевое слово введённое в haXe 1.17. По ходу публикации исправлял найденные в переводе неточности.

На всякий случай, напомню, что это подборка статей по основным особенностям языка haXe, созданная на основе перевода описания языка на официальном сайте. Главное отличие версии размещённой здесь, что она разбита на отдельные статьи, оглавление которых вынесено на главную страницу и каждую из которых можно комментировать, дополнять и исправлять.

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

Physaxe, Bloom и PureMVC для haXe

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

  1. Physaxe - очередной физический flash движок в 2D, но на этот раз от самого Николя Канасье и имеющий в основе его последние достижения в области оптимизации haXe кода для работы в Flash 9. В этом наверное и основной плюс Physaxe - этот движок очень быстр. В качестве основы Николя использовал AS3 движки Glaze и Box 2D Flash. Для иллюстраций возможностей своего движка Николя выложил в haXe blog демо Physaxe. При оценке производительности Physaxe в демо не забудьте про клавишу "D", отключающую отрисовку. В реальных проектах вы не будете использовать Flash drawing API который отъедает очень большую часть ресурсов...
RSS-материал