曾有開發人員預言,Rails不可能成為公司專屬應用程式的主流。但隨著Rails在Web開發中的逐漸普及與流行,越來越多的企業開始在Rails上面投入更多關注,同時面向企業複雜商務邏輯開發的Rails應用也逐步出現。
誠然,在Web 2.0網站開發中無往不利的Ruby on Rails(簡稱ROR)完全適應公司專屬應用程式,但是仍然還需要走很長的路。不可否認,儘管Rails在企業開發中依然是優勢與弊端並存,卻已在部分成功案例中顯露出鋒芒。
Rails與傳統企業開發語言
隨著科學技術的不斷更新,企業IT系統也一直向著越來越複雜的趨勢演化。複雜的J2EE開發模式為複雜的公司專屬應用程式提供了各種各樣的解決方式,但由於較高的學習成本和實現方式的複雜性,面向企業的技術無疑已成為開發人員身上沉重的枷鎖,同時也將一些沒有很好規劃的公司專屬應用程式開發項目拖入泥潭。
在Web 2.0互連網開發中碩果累累的Ruby on Rails無疑讓面向公司專屬應用程式的開發人員們看到了一線曙光。畢竟,Rails的介入簡化了公司專屬應用程式日益複雜化的趨勢,項目複雜度的簡化同時也意味著開發效率和個體生產力的提高。
但是,Ruby on Rails架構的初衷並非面向企業複雜的商務邏輯而設計。Rails創始人David Heinemeier Hansson曾在RailsCon大會演講中提到,Rails並不是為商務邏輯超級複雜的企業級應用所服務的。但在目前中小型企業開發的實際應用中,Rails已經憑藉快速有效開發模式佔據了一席之地。
然而,在大型複雜公司專屬應用程式方面,最適合的必然還是工業化語言。工業語言需要在文法上簡單清晰而且足夠強壯,不能過於靈活,實現同樣的目標往往只有一種最優解而非諸多的花招。
所以工業化語言在文法上需要遵循嚴格標準和規範。同時,由於團隊協作開發—甚至是大規模項目的團隊異地協作的需要,工業語言需要保證團隊中程式員的代碼風格高度一致,在大規模團隊協作中將代碼塊之間的依賴性降到最低。
不可否認,Java是非常適合複雜商務邏輯開發的工業級語言。使用Java語言,開發人員們的編程風格非常容易進行統一,在物件導向編程基礎和設計模式的指導之下,使用Java語言編寫的代碼具有相似的風格和極高的相似性。
Java程式設計語言的文法簡單清晰且嚴密,正常化帶來最大益處就是易於團隊協作。優秀的Java開源架構原始碼都比較容易閱讀,並且Java代碼的二義性小,使用Java實現商務邏輯,往往只有一種最優的方式。這些特性使得Java語言適應企業開發嚴格與嚴密的要求。
但是為了適應複雜工業的需要,Java整個開發體系相當複雜,對於使用者來說需要付出高昂的學習成本。而Ruby on Rails為代表的敏捷Web開發技術大大降低了開發人員的學習成本。