天天看點

實用開發平台對比分析1 概述2 必備要素3 常見工具4 總結分析

1 概述

随着軟體行業日新月異的發展,使用傳統的開發工具已經不能滿足現有程式員的訴求,每個項目都要從零開始,代碼無複用率;所有的基礎功能需要一行一點的敲代碼,一個預置基本功能模型,可以快速生成代碼的開發平台已經成為了“碼農”的迫切需要。

筆者作為“碼農”中的一員也深受其害,今天與大家分享筆者對開發平台的認知以及為大家推薦幾款實用的開發平台。

2 必備要素

考量一個款實用的開發平台

2.1 操作簡單

實用的開發平台作為開發工具需要是操作簡便如預置導航引導,以及代碼編輯器,感受更直覺,使開發人員通過簡單直覺的功能視圖也可以快速配置出典型功能模型。

2.2 預置功能

提供典型的功能模型架構以及常見的預置功能,如:單表操作類、主從表操作、樹及關聯管理、樹形分組管理、綜合查詢、擴充Portlet、樹及表選擇等;預置功能子產品包括:登入認證、功能菜單管理、群組角色管理、系統使用者管理、系統授權管理、系統日志管理、系統編碼管理等。

2.3 快速上手

開發平台要能夠快速生成工程,且有文檔要能預置樣例能快速上手,讓學習者能夠大體的認知。同時,對于開發平台類工具而言僅僅預置功能是不夠也需要能夠友善開發者對其架構的掌握以及學習,這不僅需要完善的學習介紹文檔,對于相關源碼的開放也是促進開發人員跟深層次的了解平台的原理的必要方式。

2.4 代碼生成

平台支援基本模型的代碼生成,通過與預置的功能模型的比對實作通過配置的方式實作代碼生成,實作高度的進行代碼的複用,進而提高工作效率。

2.5 調試部署

對于開發者而言,開發僅是工作的一部分而大部分都是在完善,調整進而調試的友善性就尤為重要,開發平台支援遠端調試的必要性,而調試過後的部署也成為開發者頭疼的問題,是以實用的開發平台對于部署也需要支援遠端增量熱部署,并且部署于多個的伺服器。

2.6 擴充機制

對于實用性平台工具,雖然預置了基本的功能模型,但面對客戶的個性化需求,對于擴充性的要求也是極高的,需要平台機制能夠快速擴充開發以滿足客戶的定制化需求。

2.7 開放程度

對于開發者而言一個實用的開發平台,操作簡單有豐富的預置功能,能夠遠端調試、部署支援快速擴充固然是好的,但是想更深層次的了解平台的架構知識,對于平台的開源是最理想化的,最好底層源碼直接打入源碼,可以在開發過程中深入到架構中學習,但目前很少有平台能夠做到此點。

3 常見工具

3.1 Eclipse

3.1.1 簡介說明

Eclipse 是一個開放源代碼的、基于Java的可擴充開發平台。就其本身而言,它是企業最常用的開發軟體,主要用來Java語言開發并可以在此基礎上開發各自的插件。

3.1.2 産品特色

開放性

開放源碼,任何人都可以免費得到,并且可無限擴充的強大插件功能,其幫助文檔也非常全面,并且可以免費獲得。

靈活性

能接受由Java開發者自己編寫的開放源代碼插件,Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。

廣泛性

Eclipse是主流開發工具,做Java開發的幾乎沒有不知道Eclipse的。而且Eclipse相對來說占用資源較少,速度快,直接解壓就可以使用 。

3.1.3 使用情況

毋庸置疑的是Eclipse是目前企業使用最廣泛的java開發IDE,也因其的開放性以及支援插件内嵌呗大衆一緻追捧,但使用Eclipse有一個不可避免的弊端就是所有的功能代碼均需要開發人員手動開發,并無代碼複用率可談,并且第三方的插件良莠不齊,可能一個不良的插件就有可能造成你整體的研發環境無法再正常使用了。

3.2 Idea

3.2.1 簡介說明

IDEA 全稱IntelliJ IDEA,是java語言開發的內建環境,IntelliJ在業界被公認為最好的java開發工具之一,尤其在智能代碼助手、代碼自動提示、重構、J2EE支援、Ant、JUnit、CVS整合、代碼審查、 創新的GUI設計等方面的功能可以說是超常的。

3.2.2 産品特色

選取智能

智能的選取。在很多時候我們要選取某個方法,或某個循環或想一步一步從一個變量到整個類慢慢擴充着選取,IDEA就提供基于文法的選擇,在預設設定中Ctrl+w,可以實作選取範圍的不斷擴充 。

導航豐富

豐富的導航模式。IDEA提供了豐富的導航檢視模式,例如ctrl+e顯示最近打開過的檔案,ctrl+n顯示你希望顯示的類名查找框。

代碼糾錯

智能代碼。自動檢查代碼,發現與預置規範有出入的代碼給出提示,若程式員同意修改自動完成修改。例如代碼:String str = "Hello Intellij " + "IDEA"; IDEA将給出優化提示,若程式員同意修改IDEA将自動将代碼修改為:String str = "Hello Intellij IDEA"。

3.2.3 使用情況

IDEA是JetBrains公司的産品,其劃分為商業版以及社群版,雖然其功能較為完善但在使用過程中也不乏回報不足之聲,比如:插件開發匮乏,目前官方公布的插件不足400個,并且許多插件實質性的東西并沒有; 在同一頁面中隻支援單工程,這為開發帶來一定的不便;資源消耗比較大,建個大中型的J2EE項目,啟動後基本要200M以上的記憶體支援,包括安裝軟體在内,差不多要500M的硬碟空間支援。

3.3 NetBeans

3.3.1 簡介說明

NetBeans 由Sun公司(2009年被甲骨文收購)在2000年創立,它是開放源代碼以及開發人員和客戶社群的家園,旨在建構世界級的Java IDE。NetBeans目前可以在Solaris、Windows、Linux和Macintosh OS X平台上進行開發,并在SPL(Sun公用許可)範圍内使用。

3.3.2 産品特色

全面性

NetBeans是開源軟體開發內建環境,是一個開放架構,可擴充的開發平台,可以用于Java、C/C++,PHP等語言的開發,本身是一個開發平台,可以通過擴充插件來擴充功能。

相容性

由于 NetBeans Platform 基于标準和可重用的元件,是以基于它的 Java 應用程式将可以在支援 Java 2 Standard Edition 的任何平台(包括 Windows、Linux、Mac OS-X、Solaris、HPUX、OpenVMS、OS/2 和其他平台)上工作。

操作性

NetBeans有聯機幫助、IDE使用指南、快速學習指南、支援和文檔,另外還具有Javadoc文檔索引搜尋功能,線上文檔也提供了中文版 。

3.3.3 使用情況

NetBeans 由于采用了純Java開發并以Swing庫編寫GUI,是以界面色調偏暗,使用起來跟本機程式感覺不同,雖然支援插件功能,但與其比對的插件較于難求可操作性較低。

3.4 JDeveloper

3.4.1 簡介說明

Oracle JDeveloper 是一個免費的非開源的內建開發環境,通過支援完整的開發生命周期簡化了基于 Java的 SOA應用程式和使用者界面的開發,并且支援apache SOAP以及9IAS,可擴充的環境。

3.4.2 産品特色

模型化

具有UML模組化語言功能,可以将業務對象及e-business應用模型化,內建了J2EE和XML的開發環境,允許開發者快速開發可以通過WEB。

調試快

配備有高速JAVA調試器(debuger),内置profiling工具,提高代碼品質的工具CodeCoach等。

适配性

支援簡單對象通路協定SOAP(simple object access protocol),統一描述,發現和內建協定UDDI,WEB服務描述語言WSDL等WEB服務标準。

3.4.3 使用情況

JDeveloper是ORACLE WEB服務的延伸,能夠與以前的oracle伺服器軟體以及其他廠商支援J2EE的應用伺服器産品相相容但對于初學者來說,較複雜,也比較難。

3.5 AEAI DP

3.5.1 簡介說明

AEAI DP應用開發平台包括三部分,第一部分是一站式的Java Web架構,在數通暢聯軟體家族中命名為Hotweb,第二部分基于Eclipse插件的擴充開發設計器,在數通暢聯軟體家族中命名為Miscdp Studio,第三部分是用于開發調試的伺服器HotServer。

開發平台設計器Miscdp Studio可以開發三類Web應用,普通的Java Web 應用、內建Web應用和Web服務應用,Hotweb提供典型的功能模型架構以及常見的預置功能,典型功能模型包括:單表操作類、主從表操作等;預置功能子產品包括:登入認證、功能菜單管理、群組角色管理等。

3.5.2 産品特色

開放性

AEAI DP開發平台直接在jar包中打入源碼,所有源碼都是開源的,友善開發人員了解内部互動機制,進而更好地擴充業務功能。現在産品已開源,目前源碼在中國開源網http://www.oschina.net上托管。

易用性

支援應用熱部署,封裝了功能模型,開發人員可以通過功能模型配置向導快速地配制出典型的功能,内置了典型的功能模型,開發人員可以直接複用;開發平台通過向導式開發,使開發工作更便捷。

實用性

開發平台基于Java平台開發,對不同作業系統做了很好的相容,支援mysql、oracle、sqlserver等主流資料庫,能夠滿足不同客戶的個性化需求。

擴充性

遵循國際通用的标準,架構代碼編寫符合規範,完善的資料庫的相容性以及預設的限制保證了可擴充性和可移植性較高。

3.5.3 使用情況

AEAI DP開發平台是一款開源、免費的應用開發平台,不同于基礎開發工具,需要寫大量的代碼來完成各個業務子產品,使用AEAI DP隻需要設計好自己的資料結構,進行一些簡單的配置就可以完成功能模型的快速開發,而且支援向導式開發、熱部署也使得AEAI DP的開發效率更高,大大減少開發工作量,減少了企業的人員成本,使企業更好地實作資源配置設定。

3.6 BeX5

3.6.1 簡介說明

BeX5定位是開發面向企業和政務的管理軟體系統,适用于OA/HR/CRM等各類管理軟體,電子政務及各行業管理軟體,并且支援工作流支援、組織和權限支援、報表和圖表支援、業務資料、業務邏輯和規則處理、文檔伺服器、協同門戶等。

3.6.2 産品特色

控件開發

Bex5中使用模組化語言,使用拖拽式方式可以開發。

預置功能

BeX5企業快速開發平台提供了完整支援企業資訊化開發的後端支援,包括:統一門戶架構、組織機構、權限管理;強大工作流服務、業務資料和規則服務、即時通訊、報表服務及文檔服務等專業服務能力。

元件豐富

BeX5内置豐富的元件,包括布局元件,資料元件,網格以及樹形元件,選擇元件,過濾元件,對話框元件以及附件元件等。

3.6.3 使用情況

BeX5為起步下的針對企業和政務的管理軟體系統平台,分為免費版以及推廣版(收費)其中預置模組化語言可以實作拖拽的方式進行功能開發,但對于初級技術員而言對本身的開發技能并無提高意義。

3.7 EOS Platform

3.7.1 簡介說明

Primeton EOS Platform是普元下的一款SOA應用平台,基于JavaEE、Eclipse等開放的技術和開發平台,采用了先進的SOA架構和标準規範,并通過構件化、圖形化、一體化的開發平台産品為客戶提供了完整的覆寫SOA應用全生命周期的支撐。

3.7.2 産品特色

構件化

構件化業務模型實則是把複雜問題進行統籌和分而治之的一種業務設計模式,并且支援圖形化拖拽的方式實作業務需求,降低了對開發人員的要求。

規範化

規範的管理架構将更有效地實作IT與業務可視性和管控性。并進一步通過政策的機制(Policy Framework)不斷實作IT治理和業務優化。

标準化

對于底層的資源通路也做到了資源服務的标準化,并在技術上實作了标準化。進而達到了業務服務在業務層面群組織層面的标準和統一,達到了業務邏輯具體實作多樣性和繼承性,達到了業務應用的流程化。

3.7.3 使用情況

EOS Platform是支撐應用軟體體系,并為其提供一個構件化、可視化的軟體全生命周期的開發和管理平台,但是作為技術人員基本上看不到代碼,通過拖動構件實作業務邏輯,但同時在修改代碼也造成了極大的困難,不能直覺、快速的定位問題。

4 總結分析

筆者作為一名開發人員對比相關的java開發IDE,如果開發是基礎的java應用工程可以選擇Eclipe/Idea/NetBeans,或者結合各自其插件以及對應架構進行開發;如果是基于Oracle內建開發場景開發則建議使用JDeveloper;如果移動端開發BeX5是一個不錯的選擇;如果項目涉及産品較多,工作量較大、個性化需求不多且願意為開發平台費用買單的話EOS Platform也是不錯的選擇;但對于普通的開發人員而言,如果既希望可是使用開發平台進行快速開發,又想要有較高的相容性和開發性,則AEAI DP應該是一個理想的選擇。

下面我用表格更直覺的展現筆者個人對以上幾款IDE的對比認知:

實用開發平台對比分析1 概述2 必備要素3 常見工具4 總結分析

綜上所訴筆者認為AEAI DP開發平台具有更高的成本效益,雖然現在籍籍無名但不失為一款實用開發工具,希望能幫助廣發開發者從繁瑣的工作中解脫出來 。如果大家想了解更多關于AEAI DP的詳細資訊歡迎通路http://www.agileai.com。

繼續閱讀