Ayrıca mono ve benzeri kullanarak çapraz platform geliştirme yapıyorum ve diğerleri gibi kullanıcı arayüzü ve diğer temel donanım entegrasyonu ile ilgili olarak ne yapmak gerektiği ile yüz yüze.
Başka bir üçüncü şahıs çerçevesinin merhametinde olmak istemediğime karar verdim (mono yeterli) ve kendimi inşa edip koruyabileceğim bir çözüm için araştırdım. Expression Blend ile birlikte yeni MVVM modeli gerçekten çok havalı ama yakında çapraz platform geliştirme söz konusu olduğunda kendinizi sıkışmış buluyorsunuz. MVC an MVP modelleri de ihtiyaç duyduğum şekilde uygun görünmüyordu. Son olarak, PM modeline yerleşti ve H donanım için bir PMH'ye genişletti. İhtiyacım olanı elde etmek için temel aygıtları (düğmeler, paneller, metin kutuları) her aygıt türü için temel bir platform katmanına soyutlamak zorunda kaldım. Platform katmanım kod tabanımın yaklaşık% 1'ini temsil ediyor ve hedeflediğim her cihaz için uygulamayı ciltlendirmeme izin veriyor.
WP7 özümüm için, yalnızca uygulamayı ve ana sayfayı başlatmaya yetecek kadar 25 satırlık HTML kullanıyorum. Kullanıcı arayüzünün geri kalanı, WinForms'ta olduğu gibi programlı olarak bir araya getirildi. WP7'de hala oldukça müthiş olduğu için Pivot kontrolünü kullanıyorum ve Android/iPhone'da kullanım için benzer bir kontrol modelleme yapıyorum. Aynı% 100 olmayacak olsa da, çok benzer olacak ve hala çekirdek kodumda aynı navigasyon motorunu kullanacağım.
Henüz gelişimimle tamamlamam ama şu ana kadar ilerlememden çok memnunum. Ben 20 yıldır Windows uygulaması için kullanıcı arayüzü geliştirmekteyim ve asla istediğimi vermedikleri ve gerçekten zaman harcadığım (Blend oldukça güzel olsa da) ve aynı zamanda muazzam bir kod bloğu oluşturduğum gibi arayüz oluşturucu araçları kullanmıyorum özellikle Blend.