Это песня о бедном рыбаке, который поплыл из Неаполя в бурное море,
а его бедная девушка ждала на берегу. Ждала, ждала, пока не дождалась…
Тогда она сбросила с себя последнюю одежду и тоже бросилась в бурное
море. И сия пучина поглотила её в один момент. В общем, все умерли.
а его бедная девушка ждала на берегу. Ждала, ждала, пока не дождалась…
Тогда она сбросила с себя последнюю одежду и тоже бросилась в бурное
море. И сия пучина поглотила её в один момент. В общем, все умерли.
Спецификация JSF версий 1.x, несмотря на все недостатки того, что именно она специфицировала, была более-менее пристойно написана. Идеальной в плане составления назвать ее было, конечно, нельзя, но, по крайней мере, ее можно было прочитать, и при этом стало бы приблизительно понятно что к чему. Долгожданная же спецификация версии 2.0, содержащая некоторые нововведения, призванные значительно упростить жизнь всем, кто уже работает с JSF, а также привлечь новых сторонников этой замечательной (ну, по крайней мере, замечательно задуманной) технологии, оказалась винегретом, претендующим на звание самой бардачной JSR во всей Java EE 6.
Для начала в коробке с надписью "Final release" нам торжественно вручают... "Final draft". Со всеми атрибутами оформления, присущими черновику. Вполне вероятно, что содержание финального черновика без изменений перекочевало в релиз, но разве так уж сложно было проделать соответствующую работу, чтобы на итоговый документ было бы не страшно взглянуть?
Но это не самое страшное. При беглом ознакомлении с содержанием выясняется, что документ не является целостной спецификацией версии 2.0. Вместо этого он является спецификацией версии 1.2, по которой хаотическим образом разбросаны новые фрагменты текста.
Как и все плохо написанные документы, эта спецификация открывается подробным списком изменений, произошедших по сравнению с предыдущей версией. В данном случае это изменения, произошедшие в ... Early Draft Review! Очень полезная информация, как для окончательной ревизии документа. Заслуживает того, чтобы занимать 17 страниц в самой почетной части.
Если переходить к реальному содержанию, то, как известно, одним из наиболее полезных нововведений является возможность объявлять managed beans (и другие сущности JSF) с помощью аннотаций вместо написания безумно длинных faces-config.xml. Так вот, об этой возможности в спецификации не сказано вообще ничего! Вместо этого довеском к основному документу идет очередной (четвертый по счету) пакет javadoc'ов, в котором перечислены соответствующие аннотации и черкнуто пару строк с тем общим смыслом что, вот, мол, и так тоже можно теперь делать.
И вот что-то возникает у меня опасение, что результатом так безалаберно организованной спецификации будет безалаберно организованная технология. Как бы не пришлось нам теперь ждать JSF 3.0 :).
P.S. И ведь есть с кого брать пример! Почитали бы, например, JSR-318 или JSR-299 на досуге, прежде чем представать во всей красе перед изумленными взорами.