借助于创建rcp和rap的使用,说明fragment的用法
首先fragment可以认为是plugin的一个片段,通俗一点说就是从属于plugin,fragment可以像plugin一样创建,在创建fragment的过程中设置Host-Plugin即可,其中有Fragment属于的Plugin ID等信息,创建Fragment不需要dependencies Host Plugin,因为Fragment可以说就是Plugin的一部分,同时Fragment可以直接引用到plugin中的代码。
Fragment的使用可以在rcp移植到rap platform上体现出来,因为就目前而言,不是所有的rcp都可以在rap platform上run,所有这就导致在开发的rcp 可以在普通的runtime platform上run,但是并不能在RAP Runtime Platform上run,所以当将runtime platform切换到rap上时,很多包的引用就会出现问题,例如在普通的runtime platform上可以找到org.eclipse.ui,org.eclipse.ui.views等,但是在rap platform中这些基础包却被移植到org.eclipse.rap.ui ,org.eclipse.rap.ui.views中像这样的情况直接可以在plugin.xml的dependencies中修改,但是还有许多例如editors的东西,rap中并没有实现(目前没有)所以许多rcp的功能无法再rap上run,所以就引申出来single sourcing的概念,随之我们可以联系到Fragment Project
要实现现有的rcp移植到rap上,目前做法可能最好的办法是:将rcp plugin拆分成三部分,一部分是rcp和rap共有的东西,可以使用一个plugin存放,两外两部分分别是rap,和rcp独立的fragment,可以创建两个fragment
具体细节的东西还是需要思考的