我是Rails和紅寶石的忠實粉絲,可能會着手爲金融機構構建企業應用程序。我非常喜歡磁懸浮的想法,並懷疑它是否值得考慮。我還沒有找到很多關於磁懸浮是否在野外生產中使用的信息,更不用說是爲了高度安全的目的。是否可以使用MagLev爲ruby構建一個生產Web應用程序?
是否有人使用MagLev成功部署了任務關鍵型應用程序?如果是這樣,你能提供關於你的經驗的細節,並可能命名應用程序?
我是Rails和紅寶石的忠實粉絲,可能會着手爲金融機構構建企業應用程序。我非常喜歡磁懸浮的想法,並懷疑它是否值得考慮。我還沒有找到很多關於磁懸浮是否在野外生產中使用的信息,更不用說是爲了高度安全的目的。是否可以使用MagLev爲ruby構建一個生產Web應用程序?
是否有人使用MagLev成功部署了任務關鍵型應用程序?如果是這樣,你能提供關於你的經驗的細節,並可能命名應用程序?
TL; DR:我們即將在MagLev上發佈一個生產應用程序。你應該等待。
我對長度表示歉意;對於這個我仍然試圖連接的問題,我有很多不連貫的想法。
我的團隊即將在MagLev上推出首個生產應用程序。這是一條崎嶇不平的道路,但我們非常確信,最終它將證明是正確的決定。我今年在幾個會議上談論我們的經歷,我很樂意詳細地聊聊它,但是這裏有一個(長)的概述。
正如您可能已經知道的那樣,寶石在支持金融行業的公司方面有着悠久而驕傲的歷史。我們主要是一家Ruby商店,我們開發財務應用程序。我們關心我們的數據,所以寶石是我們的明智選擇。 MagLev允許我們使用我們現有的Ruby知識和大部分代碼,並將我們的數據存儲在GemStone中。這是(看似)完美的婚姻。
我們選擇了一個小型的應用程序,這個應用程序對我們的用戶來說是新的,並且是移動的最簡單和最低的風險。我們選擇了與我們的託管結帳平臺相關的發票呈現應用程序。能夠簡單地堅持對象而不用擔心映射或轉換,使開發變得非常快速且令人愉快,並且我們避免了許多與ORM和持久性相關的問題。我們計劃繼續將我們現有的其他應用程序移至MagLev。
這就是說,你應該等待,除非以下所有條件爲真:
您是(或工作)的Ruby專家誰是與語言及其實現足夠的熟悉來調查和解決實施細節,其中許多是用Smalltalk編寫的。
您是(或與之合作)開發人員,他們明白專門在Smalltalk中工作的細微差別,但通常是基於圖像的環境。
您可以非常熟悉GemStone/S平臺,語言,部署機制和工具。
如果你碰到一堵磚牆,你準備取消一切,並在Smalltalk中重新編寫你的應用程序。 (我承認:我希望磁懸浮下跌完全平坦的,有時,只是爲了有一個藉口。)
有我們的問題與正在進行的基礎上的幾件事情。因爲,對於我們來說,以上都是真實的,我們繼續這樣做。我們經常處理以下每個「問題」。有時每天。
回溯幾乎是不可能自行閱讀,並且當你遇到許多例外,你有從GemStone的Smalltalk的命令行調試器來播放。這裏有相當多的學習曲線。
Ruby庫的兼容性是...比你希望的要少。基本上,你可以指望大多數用純Ruby編寫的東西都沒問題。基本上任何使用C擴展而不使用ffi的東西都沒有。這是一個令人驚訝的數量。可笑地過度使用元編程的圖書館混淆了MagLev。這是Rails土地上的很多事情。
代碼重新加載和遷移是手動的。當您更改磁盤上持久對象的類定義時,您必須管理加載新代碼並手動遷移現有的持久實例。
所有這一切都表示,與其關係最爲幫助我們的事情是,我與誰是(並且是)見地約GemStone的磁浮的球員最多(所有?)朋友。他們對我們來說太棒了。 HPI的學生也非常寶貴的修復錯誤,幫助我們發現問題。
關於我的團隊,因爲我擁有的團隊基本上是什麼讓這成爲可能。我們是四位開發人員。我們每個人都有超過十年的經驗(我想我們都超過了12-15歲)。我們中有些人(至少我)已經有超過十年的Ruby經驗。我們在Smalltalk方面有不同程度的經驗,儘管我們都沒有發佈可以賺錢的生產應用程序。我積極參與Ruby和Smalltalk社區(並且從前者到後者都是「過渡」)。
我們的經驗一直有點rock,,但大多是令人愉快的。如果我現在知道我現在知道的,我會再做一次。我的希望是,我們在這方面的工作將有助於其他人在未來也這樣做。我將MagLev視爲未來寶貴的工具。
這正是我正在尋找的信息。非常感謝您花時間。儘管問題結束的原因,我認爲這是非常有用的。 – aceofspades
它可能有助於未來以直接的問題結束。你使用了「任何評論?」如果你說過「MagLev是否準備好生產?」可能會有所幫助或者更直接的東西。這裏的主持人可能喜歡把胸膛伸出來。 –
我修改了這個問題,以防有人想投票重新打開。很多投票很快,所以這似乎是有趣的。 – aceofspades