Оба Serializable
и IsSerializable
работают в соответствии с документами по сериализации GWT :
Пользовательский класс сериализуем, если применимы все следующие условия:
- Его можно присвоить IsSerializable или Serializable, либо потому, что он напрямую реализует один из этих интерфейсов, либо потому, что он наследуется от суперкласса, который делает
- Все не финальные, непереходные поля экземплярасами по себе сериализуемы и
- Начиная с GWT 1.5, он должен иметь конструктор по умолчанию (без аргумента) (с любым модификатором доступа) или вообще не иметь конструктора.
Одно из ключевых отличий заключается в том, что по соображениям безопасности все классы Serializable
должны быть включены в политику сериализации, которая генерируется во время компиляции, в то время как классы IsSerializable
не имеют этого требования.
Если вашинтерес исключительно к GWT, и вы не например не делитесь своими классами моделей между веб-приложением и другим приложением, я предлагаю вам иметь модельsses / DTO реализуют IsSerializable
.