Как сделать разделение кода в типичном проекте GWT MVP?

Мое приложение является типичным приложением GWT, у него есть панель навигации, при щелчке по одному элементу панели место будет изменено, и приложение найдет соответствующую активность для этого места (выполненную в MasterActivityMapper), а затем вызовет activity.start(). Во время начала деятельности были также созданы соответствующие представления. Когда мое приложение запускается впервые, оно по умолчанию выбирает первый элемент панели навигации.

public class MasterActivitiesMapper implements Activity
{
      public Activity getActivity( Place place )
      {  
          if(place equals place1)
          {
             Activity1 a1= new Activity1();
             return a1;
          }
          else if(place equals place2)
          {
             Activity1 a2= new Activity2();
             return a2;
          }
          else if(...)
          {
             ....
          }
      }
}

Мое приложение работает хорошо, за исключением того, что исходный размер загрузки слишком велик, для загрузки потребуется 10 секунд. Я должен использовать разделенный код, чтобы решить эту проблему.

I read the doc https://developers.google.com/web-toolkit/doc/latest/DevGuideCodeSplitting However still can not figure out where/how to split the code, could anybody has experience with this help?

1 ответ

Решение

Activity.startбудучи асинхронным по своей природе, кажется хорошим местом для GWT.runAsync,

Существует также возможность возврата асинхронного прокси-сервера активности из вашего ActivityMapper, См. http://code.google.com/p/google-web-toolkit/issues/detail?id=5129 и https://gist.github.com/3038878 для примера кода.

Другие вопросы по тегам