Подтвердить что ты не робот

Как работает функция Play Framework?

Я люблю играть! По сравнению с другими корпоративными Java-фреймворками, это невероятно просто для разработчика. Но как это сделать? Что делает цикл редактирования-обновления возможным с таким компилируемым языком, как Java? Что делает Play! работать так, как работает?

4b9b3361

Ответ 1

Это чудесная магия компиляции/загрузчика классов и javassist...

Но не забывайте, что в среде prod он не похож на Groovy, который в основном перекомпилирует ваши скрипты в классы Java во время выполнения (если вы не прекомпилируете свои сценарии естественно). В prod, Play! работает с реальными скомпилированными классами, поэтому он эффективен, как классический Java-код. Более того, это не похоже на Spring или другие фреймворки, которые используют большое количество АОП с большим количеством накладных расходов между вызовом функции и вашим реальным бизнес-кодом.

IMO, это действительно умный дизайн;)

Ответ 3

Я сравнил Play (+ Scala) для Lift + mvn scala: cc + JRebel. Играть намного лучше. Теперь я знаю причину:

Игра без апатии. Таким образом, он может выгрузить контроллер, забыть все поля и загрузить + инициализировать его снова. JRebel нацелен на гораздо более общий характер. Он предполагает, что состояние важно, поэтому иногда (часто?) Терпит неудачу, поскольку в некоторых случаях оно не может сохранить состояние.