Архив

Архив Март 2008

Dojo Toolkit 1.1 вышел! Новые возможности, что-то из старого, а в целом — небольшая революция.

dojo_logo_final.jpgПриветствую всех читателей. И так, свершилось то, чего многие (или хоть кто-то уж точно) ждали и предвкушали. Да, вышел наконец релизный вариант самой мощной и реально "веб два-нольной" библиотеки для разработки AJAX веб-приложений Dojo Toolkit. Именно для разработки приложений, так как я себе с трудом представляю обычный сайт, который использовал бы хоть десять процентов всех возможностей, ну разве что ограничиваясь только пакетом dojo, а ведь есть еще и dojox и dijit, хотя, по моему мнению, которое сформировалось еще в период активного освоения версии 0.4.3 (да, такая древность и ископаемое, но в некоторых моментах она и сейчас лучше или проще даже последней версии), с визуальной частью у Dojo не очень сложилось. Все же ExtJS на несколько порядков выше и пока нет альтернатив, которые бы свергли ее с трона.

Но вернемся к нашим делам. Пройдя достаточно долгий эволюционный путь развития и смены нескольких архитектур, Dojo наконец начала стабильный этап развития, на котором уже можно ее не только рассматривать в качестве технологической платформы для своего проекта, но и полноценно реально использовать. Версия 1.1 привносит достаточно много изменений и улучшений, и именно этот релиз я бы рекомендовал рассматривать для себя в качестве инструмента. Что же там появилось новое и интересное для рядового разработчика? Сейчас рассмотрим.
Читать далее...

10 стартапов, которые прошли отбор в Y Combinator

ycombinator.JPGПриветствую наших читателей. Сегодня хочу рассказать об одном событии, которое так и затерялось бы в пучине аналогичных, если бы не немного даже скандальная известность и политика его виновника. Инкубатор интернет-стартапов Y Combinator исповедует интересную и даже во многом оригинальную модель привлечения и разработки - он предлагает небольшое начальное финансирование и переезд команды на время разработки к ним в помещение со всей инфраструктурой. Конечно, и обычные бизнес-инкубаторы работают подобным образом (часто), но в данном варианте это временный переезд на короткое время, чтобы, наверное, иметь возможность непосредственно вести и контролировать работу компании, и к тому же такой подход позволяет очень сплотить команду не только самого стартапа но и всех объединенных под крышей, а значит добиться синергетического эффекта уже на этапе проектирования и разработки. А это зачастую гораздо важнее даже денег и связей.

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

Практическое применение Google AJAX Language API — встраиваем переводчик в свой проект.

google_logo_api.pngПриветствую вас, уважаемые читатели! Возможно, несколько нескромно, но позволю себе обьявить, что далее будет самый первый в Рунете обзор и описание практического применения недавно открытого Google AJAX Language API для доступа с приложений на JavaScript  к сервису переводов. Везде я видел пока только анонсы и попытки проанализировать, чем же это может обернутся для разработчиков и пользователей, но именно руководства по встраиванию в свой сайт или проект еще не читал, поэтому решил самостоятельно разобраться и написать.

И так, сначала общая информация. Как известно, у компании Google есть сервис переводов, который умеет переводить тексты на более чем десятке языков. Всего пар переводов есть намного больше, но для некоторых языков доступны только переводы на один-два языка, для других, например, английского - на множество. Раньше вы могли использовать этот сервис для переводов веб-страниц на лету, или перевода отдельных слов и предложений в браузере, но вот дистанционный доступ к сервису при помощи AJAX-а - это стало возможно только на днях с открытием соответствующего API и размещения примеров кода.

API включает в себя функции автоматического определения языка исходного текста, и, собственно сам перевод. Поддерживается пока тринадцать разных языков и двадцать девять вариантов перевода. К сожалению, русский поддерживается только в виде пары Russian <> English, то есть, перевод с русского на английский и обратно, а самое большое число переводов конечно же, для английского. Впрочем, обещают в дальнейшем пополнять возможности переводов, так что не отчаивайтесь. Читать далее...

Симфония минимализму или красота в простоте — РНР фреймворк EpiCode

epicode.gifПриветствую наших читателей. Пока весь народ вокруг воздает честь и хвалу компании Zend за выход в виде релиза ее фреймворка Zend Framework 1.5, который, без преувеличения, конечно отличный инструмент для разработки и поддержки масштабных проектов, а другие спорят и превозносят каждый свое - Python или Django или RubyOnRails, третье обсуждают нюансы применения паттерна MVC (я бы сказал, архитектурной концепции) и даже ее применимости вообще к созданию веб-приложений на РНР, остальной мир... Да нет, все не так, конечно, впрочем судити сами.

Остальные же просто упрощают себе жизнь, причем самым кардинальным образом. Я не о тех, кто верстает статичные сайты на несколько страниц - им не нужны никакие фреймворки. А вот если нужно, с одной стороны, создать простую и гибкую систему, но вот всей мощи и идеологической нагрузки современных фреймворков им не нужно, по крайней мере сейчас и немедленно? Изучение и апробация в новом проекте каких-то сложных инструментов себя совершенно не оправдает, а в свете уже любимой многими концепции Getting Real даже чем-то вредно, но и городить свой велосипед как то уже не достойно... Читать далее...

Очень кратко или чуточку снова о Storages…

dojo_logo_final.jpgПриветствую наших читателей. Целый день вынашивая мысль о том, что нужно что-то серьезное написать, и держа в голове несколько тем, оказалось, что времени ну никак нет, как и сил на серьезный материал. А внутри еще голос сидит и подталкивает все же сесть и написать книгу... эх. Поэтому сейчас я напишу вкратце небольшой материал, а завтра уже торжественно обещаю приготовить что-то интересное.

Даже не ожидая, здесь у нас разгорелась весьма интересная дискуссия с рядом постоянных читателей блога о такой функциональности современных веб-приложений и сред их исполнения (а браузер уже, волей-неволей, можно считать именно средой исполнения, а в свете обновления проекта Mozilla Prism и встраивания его как плагина в Firefox 3 так и подавно) как сторадж данных на клиентской части. Особенно речь идет о продвинутых методах хранения действительно больших обьемов данных, которые, в идеале, были бы доступные даже после перезагрузки браузера, обновления страницы а то и рестарта самой ОС. Более того, у нас уже есть целый полк разных технологий, в той или иной мере реализующей это - Client Storages в Firefox (причем, этих стораджей несколько видов даже), хранилище, реализованное при помощи специального Flash-обьекта, сторонние приложения вроде модуля Google Gears, в среду исполнения для веб-приложений Adobe AIR также встроен подобный функционал, а стандарт HTML 5 вообще обещает нам возведение этого в ранг обязательного во всех браузерах. Благо, что ждать этого не придется долго, разработчики потихоньку реализуют хранилища данных сразу в своих движках.

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

СУБД для AJAX приложений? Вы подумали про HTML 5, Google Gears или Firefox? Нет, только JavaScript!

taffydb.JPGПриветствую наших читателей. Как уже повелось, сразу хочу сделать маленькое объявление  - после некоторых раздумий я пришел к выводу, что пока, по крайней мере, в блоге не будет материалов с обзорами IE 8.1beta - решение обосновано тем, что об этом уже столько написали, и очень многие, что поднимать эту тему, если только я не смогу написать что-то эксклюзивное, я не собираюсь. Надеюсь, это не сильно разочарует наших постоянных читателей, наш блог все же призван рассказывать Вам о совершенно новых технологиях и инструментах, о которых вы не узнаете где-то еще.

Не а после небольшого вступления, начнем нашу тему. Если вы разработчик AJAX приложений или интерфейсов, то вам это окажется полезным. Если приходится хранить некоторые достаточно обьемные данные в структурированном виде на стороне клиента, то каким образом это оптимально сделать?  Конечно, вам могут помочь обычные массивы (тип данных или, скорее, встроенный обьект Array), и он даже предоставит базовые функции для управления массивом данных и основные операции над ним, но это очень, скажем так, низкоуровневое решение, часть функционала может зависеть от реализации JS-движка в конкретном браузере. Кроме этого, что-то делать с сохраненными данными нужно писать достаточно много собственного кода, и в конце концов ваш код превращается в такое нагромождение вызовов, функций и переменных, что разобраться в этом ой как сложно. Читать далее...

#5. Интересное с мира SourceForge.net: распределенная система кеша ehcache для приложений любого уровня

ehcache_logo.gifПриветствую вас, уважаемые читатели! Сначала хотел бы принести извинения за столь длинный перерыв в ведении блога, это было связано с некоторыми сложностями и большой занятостью , но я очень постараюсь исправиться и далее писать постоянно. Спасибо всем, кто остался нашими верными читателями!

Сегодня я хотел бы рассказать об одном интересном проекте, который вам пригодится при проектировании и реализации сложных веб-приложений на платформе Java. Речь идет о ehcache - универсальной системе распределенного кеширования для Java приложений и сервлетов. Это необычно небольшое приложение (честно, такого уровня системы, размером в несколько сотен Кб это редкость, при этом высокого качества), которое реализует кеш как динамический (в оперативной памяти), так и дисковый кеш, причем изначально спроектированное для работы с кешами большого обьема (порядка гигабайтов) и в распределенных системах. Читать далее...