最近做了一個(gè)可視化編輯器相關(guān)的項(xiàng)目,采用了GMF。現(xiàn)在項(xiàng)目即將進(jìn)入尾聲,以后可能不再接觸這個(gè)東西,so在還沒有忘掉之前,將經(jīng)驗(yàn)記錄下來(lái)以供大家參考。 當(dāng)然做這個(gè)項(xiàng)目之前,我對(duì)GMF,EMF一無(wú)所知,只是對(duì)GEF有所了解,所以可能會(huì)有些囫圇吞棗的感覺,但是相信我的理解還是會(huì)對(duì)各位有所幫助。
GMF其實(shí)是一個(gè)整合了GEF,EMF的自動(dòng)化生成代碼的項(xiàng)目。使用GMF,可以快速的生成一個(gè)包含可視化編輯器的項(xiàng)目,這一點(diǎn)網(wǎng)上有文章介紹:15分鐘學(xué)會(huì)GMF。15分鐘是夸張了一點(diǎn),不過15天完成一個(gè)可視化項(xiàng)目,對(duì)一個(gè)熟練的GMF程序員來(lái)說,卻絕對(duì)不是什么難事。但是既然使用了GMF框架,你就不得不面對(duì)以下幾個(gè)問題:
一、既然是框架,自然要遵守框架的規(guī)則,GMF是模式驅(qū)動(dòng)設(shè)計(jì)的,也就是說必須建好模型,才能進(jìn)行下一步的開發(fā)工作。但是國(guó)內(nèi)很多項(xiàng)目,需求總是不斷更新,這種情況下,不要輕易使用GMF。
二、使用GMF框架,自然不具備GEF的靈活性,很多地方都被限制住了,不適合做靈活性非常大的圖形設(shè)計(jì)。
三、不得不忍受GMF里大量的bug。
我比較過GMF1.0,2.0,2.1三個(gè)版本,其中1.0完全不能容忍,2.0比較傻,2.1還過得去,所以GMF還是值得大家期待的,畢竟是越做越好。

一個(gè)比較簡(jiǎn)單的GMF流程編輯器
個(gè)人感覺GMF非常適合做流程編輯器,主要是圖形要求簡(jiǎn)單,并且適合GMF自動(dòng)布局,兼之對(duì)模型要求不高。
在學(xué)習(xí)GMF之前,有必要研究一下GEF和EMF,其中GEF是必須要有所了解的,而對(duì)EMF要求不算太高,能建一個(gè)ecore模型,了解emf的commandstack就夠了(其實(shí)我本人不太喜歡EMF,我更喜歡用自己的模型框架)。
GMF的學(xué)習(xí)周期大概2周左右,上手到熟練大概需要1個(gè)月的時(shí)間(我自己的學(xué)習(xí)周期),當(dāng)然這期間會(huì)碰到各種各樣的技術(shù)問題,針對(duì)不同的case,碰到的問題也會(huì)不一樣,而我這個(gè)系列的文章,主要就是把我所遇到的問題陳列出來(lái),并提供一個(gè)解決之道。
附GMF相關(guān)資料:
八進(jìn)制:GMF常見問題
GMF Newsgroup Q and A
GMF其實(shí)是一個(gè)整合了GEF,EMF的自動(dòng)化生成代碼的項(xiàng)目。使用GMF,可以快速的生成一個(gè)包含可視化編輯器的項(xiàng)目,這一點(diǎn)網(wǎng)上有文章介紹:15分鐘學(xué)會(huì)GMF。15分鐘是夸張了一點(diǎn),不過15天完成一個(gè)可視化項(xiàng)目,對(duì)一個(gè)熟練的GMF程序員來(lái)說,卻絕對(duì)不是什么難事。但是既然使用了GMF框架,你就不得不面對(duì)以下幾個(gè)問題:
一、既然是框架,自然要遵守框架的規(guī)則,GMF是模式驅(qū)動(dòng)設(shè)計(jì)的,也就是說必須建好模型,才能進(jìn)行下一步的開發(fā)工作。但是國(guó)內(nèi)很多項(xiàng)目,需求總是不斷更新,這種情況下,不要輕易使用GMF。
二、使用GMF框架,自然不具備GEF的靈活性,很多地方都被限制住了,不適合做靈活性非常大的圖形設(shè)計(jì)。
三、不得不忍受GMF里大量的bug。
我比較過GMF1.0,2.0,2.1三個(gè)版本,其中1.0完全不能容忍,2.0比較傻,2.1還過得去,所以GMF還是值得大家期待的,畢竟是越做越好。

一個(gè)比較簡(jiǎn)單的GMF流程編輯器
個(gè)人感覺GMF非常適合做流程編輯器,主要是圖形要求簡(jiǎn)單,并且適合GMF自動(dòng)布局,兼之對(duì)模型要求不高。
在學(xué)習(xí)GMF之前,有必要研究一下GEF和EMF,其中GEF是必須要有所了解的,而對(duì)EMF要求不算太高,能建一個(gè)ecore模型,了解emf的commandstack就夠了(其實(shí)我本人不太喜歡EMF,我更喜歡用自己的模型框架)。
GMF的學(xué)習(xí)周期大概2周左右,上手到熟練大概需要1個(gè)月的時(shí)間(我自己的學(xué)習(xí)周期),當(dāng)然這期間會(huì)碰到各種各樣的技術(shù)問題,針對(duì)不同的case,碰到的問題也會(huì)不一樣,而我這個(gè)系列的文章,主要就是把我所遇到的問題陳列出來(lái),并提供一個(gè)解決之道。
附GMF相關(guān)資料:
八進(jìn)制:GMF常見問題
GMF Newsgroup Q and A