Как сделать разделение кода в типичном проекте 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 для примера кода.