2010-08-18 63 views
2

我決定在使用MonoTouch進行開發時使用.xib文件的位置。MonoTouch - XIB或不是XIB?

我目前的項目需要使用iPhone和iPad,所以我想知道是否即使使用Interface Builder也是值得的。我已經必須刪除一些設計器文件,以便2個不同的視圖(每個設備一個)轉到同一個控制器。我也是唯一一個在這方面工作的人,並且沒有設計師在IB工作。

這裏有幾個問題:

  • 是否有任何性能優勢/減少使用XIBs?
  • 是否有任何軟件設計問題,從MVC等減損,這樣或那樣會抑制?
  • 使用XIB有什麼多功能性的缺點,就像用XIB實現某些視圖的延遲加載很難嗎?

想法?

回答

5

我最近不得不作出同樣的決定,我決定去無錫。我發現更容易看到什麼時候發生了什麼。由於iPhone和iPad界面相對簡單,我沒有從IB獲得巨大的收益,但是MonoDevelop和IB之間有很多跳躍。像你一樣,我不是直接與設計師合作。

我在IB中做初始佈局來獲得座標。之後,我只是直接在代碼中進行修改。

減少文件也有好處。

另一個優點是提問。向代碼塊和xib文件發送電子郵件比較容易。我還可以輕鬆地額外提供核心代碼,以便簡潔地指定問題。

至於你的問題......我發現當我完全控制時,根據MVC思考和構建我的項目更容易 - 但也許這只是我。對於我的項目,我沒有真正發現一些我認爲xib文件會更好的東西。至於表現,我還沒有做過任何測試,所以不能就此提供明智的意見。我在某個地方看過一篇文章,其中的差異可以忽略不計,但是一個快速搜索沒有挖掘出來。我會嘗試找到它今晚。

+0

你知道某個地方的示例項目嗎?我可以查看某人在沒有XIB的情況下做了什麼嗎?一個跟隨MVC?我發現了無XIB的例子,但它們通常都是WinForms,看起來很糟糕,而且設計得很糟糕,並且有一個充滿事件處理程序的單一類。 – jonathanpeppers 2010-08-19 19:12:47

+0

看看tweetsharp項目 - 它使用的是MonoTouch.Dialog – iwayneo 2010-08-20 08:01:13

+0

只有這個問題是,我們即將接受一次完整的ui檢修,並在所有組件均爲100%c#時執行此操作。我仍然喜歡這個XIB - 他們往往會讓你的代碼變得一團糟。真正的尖端,蘋果。 – iwayneo 2010-08-23 08:14:05

3

我們減少了xib,並且沒有xib的視圖看起來更加高效。我發現蘋果對MVC的解釋令人困惑。

+0

我甚至覺得蘋果對MVC的解釋甚至不是MVC。任何標準應用程序的「控制器」實現中都有太多的UI代碼。但是,這可能是B/C我通常與WPF和MVVM一起工作 - 這遠遠超出了軟件設計的角度。 – jonathanpeppers 2010-08-20 18:32:04