原先Borland旗下的開發工具C++ Builder,由於Borland轉向經營軟體生命周期管理的市場,先是成為子公司CodeGear的產品,繼而被耕耘資料庫效能調校的Embarcadero公司買下,現已推出2010版本。

新版最受矚目的是多點觸控技術,可以開發單點、多點觸控的程式,甚至可以很簡單地設計新手勢(Gesture)。其次Embarcadero也決定專注在原生(Native)程式領域。過去Borland一度迷航,有兩派人馬辯論著要走原生還是.NET虛擬環境,在游移不定之際,決定兩種版本都開發,造成戰力分散,使得兩個路線都沒有很好的成果。在Embarcadero買下開發工具之後,他們決定要走向原生路線。因此C++ Builder除了現行的Windows 32位元版,未來也將推出Windows 64位元,甚至Mac OS及Linux的版本。

支援開發Windows XP及Vista平臺的多點觸控技術應用

在Windows 7推出之後,多點觸控應用受到廣泛的討論,C++ Builder 2010便針對這項技術推出簡易開發的機制,相較之下,目前微軟本身的開發工具Visual Studio 2008及即將推出的2010版,在這方面的設計程序均比C++ Builder複雜。

再者,微軟目前在觸控機制的發展上,只能支援Windows 7,而C++ Builder 2010延伸支援XP和Vista。而且額外提供了30多種手勢,開發者可直接勾選,然後撰寫回應觸控事件的程式。Embarcadero規畫未來將此技術延伸到手機平臺,一般預測首先支援的對象,最有可能是iPhone。

觸控功能的第一步,是要先辨認手勢,接下來才能撰寫回應方式,而C++ Builder 2010現已內建辨識手勢的機制,因此能夠簡化觸控功能的開發。

如果要做客製化的手勢,C++ Builder的對話框會請使用者先行示範新手勢動作,例如打勾,接著自動給定一個ID。所有客製化的手勢,ID均為負數,開發者再根據ID,撰寫偵測到該手勢時應觸發的程式。

設計手勢時,開發者可以調整系統偵測手勢的敏感度,例如80%。敏感度越高,表示使用者所做的手勢,必須與系統接收到的範本,相似度要越高才能被辨識出來,也就會越難辨識。降低敏感度,可減低辨識難度,但過低可能造成誤判。

由此可知,輔助使用者學習手勢,也是觸控應用中很重要的一環,而C++ Builder 2010內建手勢學習機制,以打勾的手勢為例,開發者可直接在使用者介面中,加入手勢學習元件,系統便以圖形顯示打勾的方式與曲度,使用者只需跟著模仿,便簡單上手。

提供多執行緒的除錯機制,是C++ Builder前進Linux平臺的前哨站

若希望舊有的C/C++程式,也變成可觸控的程式,只要以新版C++ Builder中開啟專案,加入手勢管理元件(Gesture Manager),即可在程式中外掛觸控機制。

接著只要指定觸控回應的程式,即可升級為有觸控功能的應用程式。

除了觸控的開發機制,C++ Builder 2010也致力於強化開發生產力。有些開發者傾向以快速鍵取代滑鼠,以避免在滑鼠和鍵盤間頻繁遊走的麻煩,C++ Builder 2010有一項更簡單的「IDE Insight」機制,開發者按功能鍵「F6」,即可新增或尋找需要的物件、路徑或者程式碼,幾乎不需要用到滑鼠,即可處理完設計、寫程式及專案設定等工作。這對於習慣使用鍵盤的開發者是一大福音。

而在除錯方面,新版的除錯器針對多執行緒的程式,可以「凍結」及「解除」一個或多個執行緒,讓開發者專注在有問題的執行緒上面,以降低除錯的困難程度。

由於Embarcadero預計要推出Mac OS及Linux平臺的版本,而多執行緒是Mac與Linux常見的應用,因此該公司相當重視多執行緒的除錯。 過去多執行緒的應用程式,不容易除錯的原因在於,開發者已發現某個執行緒可能有問題,但由於每次執行時,程式並不固定安排執行緒啟動的順序,所以很難針對特定執行緒除錯。

新版的C++ Builder則允許開發者,暫時凍結一個或多個執行緒,以簡化問題,方便開發者除錯。

協助轉換日期與字串格式,簡化除錯工作

除了針對多執行緒的除錯強化,C++ Builder 2010也提供視覺化(Visualize)的程式框架,幫助開發者在除錯階段追蹤各項變數的內容。開發者常需要在程式碼中設定中斷點,追蹤日期的運算是否正確,然而把日期的型態設定為浮點數,以執行加減運算之後,所顯示的值並不容易判斷。

為此,C++ Builder 2010提供「Debug Visualize」功能,目前針對日期(Datetime)及字串(String)提供格式的轉換,幫助開發者把不容易看懂的資料,轉換成易於理解的格式。例如把浮點數的值轉換成年/月/日的格式。

很特別的是,Embarcadero已將Debug Visualize的程式開放源碼。對企業而言,好處在於可自行針對企業特殊格式的資料內容,開發視覺化的偵錯機制,再外掛至C++ Builder中,即可在除錯時看到易於理解的資料呈現。

具有背景編譯功能,讓開發效率大提升

為求最佳化的執行效率,一般C/C++程式的編譯(Compile)過程較為複雜,也因此需要花費比較長的時間。如果系統有一定的規模,那麼每一次編譯程式,開發者等待的時間就會很長。

C++Builder 2010的背景編譯功能可派上用場,開發者啟動這個機制後,即可在編譯時期持續程式開發工作。

事實上,這個機制在C++ Builder 6時即已存在,然而,當時的版本有很多限制,例如執行編譯工作時期不能修改專案。諸多的限制是因為當時沒有採用快照(Snapshot)技術,所以開發者若修改了檔案,系統就得再重新編譯程式。而新版的編譯器支援快照機制,所以允許開發者在編譯時期繼續開發工作,相對而言彈性增加不少。

另一個強化的功能是「類別瀏覽器」,它可以自動剖析專案,用圖形顯示物件有哪些方法(Method)、物件之間的關聯性與繼承關係。

類別瀏覽器的概念有些像UML中的Class Diagram,但是Class Diagram只能呈現類別圖,無法在看到類別圖的同時,直接撰寫程式,若要檢視程式碼,需要經過切換手續。類別瀏覽器並沒有這樣的限制。

這個功能也是C++ Builder 6時即已存在,不過當時無法修改程式,所以後來的版本取消了這個功能,2010版才再次推出此功能,並可以直接修改程式。

 

日期變數的追蹤更容易

開發者可透過「Debug Visualize」功能,追蹤日期格式的變數,幫助除錯階段追蹤日期的變化,以避免解讀浮點資料可能造成的困擾。

 


產品資訊 建議售價●專業版44,500元ˉ原廠●Embarcaderoˉ代理商●興德資訊ˉ代理商電話●(02)2577-7755ˉ網址●www.embarcadero.comˉ代理商網址●www.sinter.com.twˉ作業系統需求●Windows 7/Vista/XP/Server 2003ˉ硬體需求●1GB記憶體,3GB硬碟空間,Intel Pentium 1.4GHz以上處理器
 

【註:規格與價格由廠商提供,因時有異動,正確資訊請洽廠商。】


Advertisement

更多 iThome相關內容