步骤 1.使用 GWT 2.7.0 通过 Google Plugin for Eclipse 创建一个新的 GWT 项目
步骤 2.修改 .gwt.xml 以将链接器设置为 xsiframe
<add-linker name="xsiframe" />
Run Code Online (Sandbox Code Playgroud)
步骤 3.编译项目compilation-mappings.txt 显示 6 个条目 - 5 个带浏览器,1 个不带浏览器
1737AD1FC03D9513CE7A9D806F3E21C3.cache.js
user.agent gecko1_8
263432CEAA7C118D6FF27B488528C7EF.cache.js
user.agent safari
3269EBD405702A848A8B082982A76805.cache.js
user.agent ie8
6ED13A4E7283CDD9B28BFDD052C8EC05.cache.js
user.agent ie9
EFB063823A3113BEB2C481F22CA51E1D.cache.js
user.agent ie10
Devmode:devmode.js
Run Code Online (Sandbox Code Playgroud)
步骤 4.修改 .gwt.xml 以设置单一浏览器,并将 user.agent 设置为gecko1_8
<set-property name="user.agent" value="gecko1_8,ie9,ie10,safari" />
<set-property-fallback name="user.agent" value="gecko1_8" />
<set-property name="user.agent" value="gecko1_8" />
<!-- allow Super Dev Mode -->
<add-linker name="xsiframe" />
Run Code Online (Sandbox Code Playgroud)
步骤5.编译项目compilation-mappings.txt在没有浏览器的情况下显示两个条目
FE1687414F0A6033B32B0F59A213285B.cache.js …Run Code Online (Sandbox Code Playgroud) 如何在2.7中生成GWT Soyc报告?
使用以下archetype命令创建GWT 2.7 maven项目.
mvn archetype:generate -DarchetypeGroupId=org.codehaus.mojo -DarchetypeArtifactId=gwt-maven-plugin -DarchetypeVersion=2.7.0
Run Code Online (Sandbox Code Playgroud)
我正在尝试为它生成soyc报告.我尝试了两种方法,两者都没有创建一个soyc报告.此功能是否已被放弃.
方法1 - 我尝试在pom.xml中使用配置参数
<compilerMetrics>true</compilerMetrics>
<compileReport>true</compileReport>
<detailedSoyc>true</detailedSoyc>
Run Code Online (Sandbox Code Playgroud)
方法2 - 我尝试使用mvn命令行参数
mvn -Dgwt.compiler.soycDetailed=true clean install
Run Code Online (Sandbox Code Playgroud)
但是,构建过程没有创建具有以下异常的soyc
[INFO] Compiling module com.appbootup.explore.gwt.HelloGWTApp
[INFO] Compiling 5 permutations
[INFO] Compiling permutation 0...
[INFO] Process output
[INFO] Compiling
[INFO] Compiling permutation 1...
[INFO] Process output
[INFO] Compiling
[INFO] Compiling permutation 4...
[INFO] Process output
[INFO] Compiling
[INFO] Compiling permutation 2...
[INFO] Process output
[INFO] Compiling
[INFO] Compiling permutation 3...
[INFO] Creating Stories file for the compile …Run Code Online (Sandbox Code Playgroud) 我们包含此AndroidPdfViewer 库以支持在应用程序中查看 PDF 报告。它导致 APK 大小从 4.7Mb 大幅增加到 20.1Mb。
有没有办法减小这个尺寸。让我知道在哪里以及需要修改哪些内容来帮助或解决这个问题。
我熟悉 proguard 并为我的应用程序配置它并取得了一定的成功。
我想要的是了解我为GWT所做的DOM操作支付的性能价格.我想知道哪些操作"昂贵"而哪些操作不是,以及如何测量它.我想知道如何描述这些操作,或者根本不值得关注这些问题.
更确切地说,这是我遇到的用例列表.
1)用例#1:如果某个事件发生,你有一个小部件可以改变它的外观.如果我要移除旧窗口小部件并创建新窗口小部件,或者更好地更改现有窗口小部件的样式,是否有任何区别?换句话说,在GWT应用程序中创建和插入新小部件的价格有多大?是否有任何类型的垃圾收集器用于删除DOM元素?
2)用例#2:您需要从服务器端获取或保存一些数据.数据可能非常大.有没有意义创建一个特殊的Servlet,它将以非常简单的方式进行此操作:只接受或打印一些String而不是对标准GWT servlet进行RPC调用?这是提高绩效的好方法吗?您自编的Servlet非常简单.
3)用例#3:你有一个小部件是一个很长的其他小部件列表.如何估计哪些小部件可以安全地显示客户端性能?我的意思是,如果过去5年我们会显示500万条聊天消息,可能客户端会变慢,即使我们会逐个加载项目,从而限制了服务器端的压力.
4)用例#4:dom操作的性能价格如何找出某个容器内部的元素数量,或者找出元素的样式?例如,您需要计算聊天中的消息数.这个计算聊天容器的DOM子项的操作是否昂贵,以至于更好地实现单独的计数器并在新消息到达时增加它(就像Java Collections一样)?
我正在尝试纠正我创建的 github fork 名称中的拼写错误。gwt-hightchart-dashboard-demo从到删除一个“t”gwt-highchart-dashboard-demo
经过一些 google/stackoverflow 搜索后,我无法找到如何做这个简单的练习。
参考下图。

嗨,这个bug无法追踪 - 需要帮助.
我正在使用谷歌应用程序引擎和编写如下的rpc servlet
<!-- Servlets -->
<servlet>
<servlet-name>RealEstate_Service</servlet-name>
<servlet-class>com.app.realestate.navi.client.RealEstateService</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>RealEstate_Service</servlet-name>
<url-pattern>/real_estate/realEstateService/</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
RealEstateService
@RemoteServiceRelativePath("realEstateService")
public interface RealEstateService extends RemoteService {
ArrayList<ProjectDetails> getProjectDetails();
}
public interface RealEstateServiceAsync {
public void getProjectDetails(AsyncCallback<ArrayList<ProjectDetails>> callback);
}
Run Code Online (Sandbox Code Playgroud)
RealEstateServiceImpl
@SuppressWarnings("serial")
public class RealEstateServiceImpl extends RemoteServiceServlet implements RealEstateService{
private static final String[] contactsFirstNameData = new String[] {
"Hollie", "Emerson", "Healy", "Brigitte", "Elba", "Claudio",
"Dena", "Christina", "Gail", "Orville", "Rae", "Mildred",
"Candice", "Louise", "Emilio", "Geneva", "Heriberto", "Bulrush",
"Abigail", "Chad", "Terry", "Bell"};
private final String[] contactsLastNameData …Run Code Online (Sandbox Code Playgroud)