З Javascript та рамками, такими як jQuery, ви маєте повну гнучкість та повний контроль. З ext і т. Д. Ви втрачаєте багато контролю і повинні адаптуватися до рамок. З JSF ви повністю втрачаєте контроль і повинні повністю адаптуватися до рамки. Ви викликаєте життєві цикли тощо, і, нарешті, у вас немає контролю, коли можна здійснити дзвінок на сервер, а де - ні. Якщо ви хочете зробити щось, що вважається "особливим", ви перебуваєте в дуже важкому становищі. А в світі JSF навіть такі основні речі, як різнокольоровий сортування таблиці або поля, де ви можете вводити лише обмежений набір символів (наприклад, числове поле), вважаються "спеціальними".
Однак чим більше у вас гнучкості, тим більше помилок чи поганих практик ви можете зробити. Висока гнучкість працює лише з високорозумними програмістами, інші перетворять проект у незмінний кошмар.
Але з JSF та його обмеженою гнучкістю завжди є лише кілька (або навіть лише один) правильний спосіб зробити щось. Ви дуже обмежені, не можете створювати ярлики, ви повинні писати більше XML тощо. - але при адаптації до стандарту краще контролювати код, який вироблять недосвідчені або низькокваліфіковані програмісти. Як результат, великі корпорації люблять JSF, оскільки це "безпечніше" для них.
Коли я перейшов з GWT до JSF, я був шокований, скільки речей, що було для мене природним, вважалося вкрай нетиповим і скільки простих речей було так важко досягти. Більше того, навіть внесення найменших змін, таких як додавання знаку ":" після мітки, яке в додатку, що працює на GWT / jQuery, змінило б одну функцію, генеруючи мітку, вимагало змінити десятки файлів з локалізованими властивостями, які навіть не враховували нікому, крім мене дивно ...