Статьи

Еще один свободный API: jOOX. Портирование jQuery на Java

Недавно, в моем ежедневном безумии программирования, я действительно почувствовал желание убить кого-то, кто связан с формальной спецификацией DOM. Любимая объектная модель документа . Хотя все понимают, что этот API является полным по функциональности и объему, он является стандартом, и он почти одинаков для всех языков…. ну это невероятно многословно. Управление XML так же увлекательно и увлекательно, как мытье посуды на индийской свадьбе из 2000 человек .

И вдруг я вспомнил, что именно так я чувствовал поддержку Java передового SQL и как JPA / CriteriaQuery заставлял меня чувствовать себя как эта бедная посудомоечная машина раньше. И я задавался вопросом, чувствовал ли кто-то как я прежде. Поэтому я задал этот вопрос о переполнении стека :

http://stackoverflow.com/questions/6996013/a-nice-java-xml-dom-utility

И я получил ожидаемые ответы о JDOM и dom4j . Два проекта динозавров, которые не являются ни более сексуальными, ни более эффективными, чем сам стандарт (например, Xerces ). Смотрите этот ответ о производительности:

http://stackoverflow.com/questions/6996013/a-nice-java-xml-dom-utility#6998870

Я также нашел один проект, который имеет несколько свободный подход:

http://code.google.com/p/xmltool/

На самом деле это выглядит довольно неплохо, хотя немного склоняется к созданию DOM, а не к навигации. И затем, как молния, меня поразило: «Почему еще никто не портировал jQuery » на Java? JQuery — это именно то, каким должен быть XML API: Awesome. Свободный. Весело и эффективно в использовании. Поэтому я попытался соединить что-то похожее на jQuery, и это начало другого продукта в «jOO-Star suite»: jOOX с X для XML! Я хотел, чтобы это было свободно, весело и эффективно. Как JOOQ. Так что jOOX будет попыткой сделать именно это. Вот пример того, как выглядит код jOOX:

// Find the order at index for and add an element "paid"
joox(document).find("orders")
              .children()
              .eq(4)
              .append("<paid>true</paid>");

// Find those orders that are paid and flag them as "settled"
joox(document).find("orders")
              .children()
              .find("paid")
              .after("<settled>true</settled>");

Этот быстрый прототип порта jQuery выглядит для меня очень многообещающе, даже если наиболее важных функций еще нет (например, навигация с помощью языков выражений, селекторов и т. Д.). Со статической типизацией Java и без всех проблем, связанных с браузером, обработкой событий JavaScript, CSS и прочим, чистая навигация и манипуляции с DOM на самом деле не так сложны. В любом случае, я теперь еще больше уважаю ребят из jQuery, так как я просто касаюсь вершины айсберга.

Поэтому в будущем я также опубликую одну или две записи о jOOX в этом блоге. Ждем отзывов!

Загрузите jOOX из Google Code:

http://code.google.com/p/joox/