企企鹅日记 https://bbs.21ic.com/?159407 [收藏] [复制] [RSS]

日志

行動裝置應用程式開發導論2

已有 734 次阅读2008-4-23 09:49 |个人分类:设计开发|系统分类:嵌入式系统| 行動裝置應用程式開發導論

2. 使用 [ASP.NET Mobile Web應用程式] 專案型態開發行動裝置瀏覽的網頁

            

            如果您要使用 Visual Studio .NET 2003 開發行動裝置可以瀏覽的網頁,您可以選擇建立 [ASP.NET Mobile
            Web應用程式] 型態的專案,其操作畫面如圖 7 所示。



            

[說明] 現階段使用 Visual Studio .NET
            2003 開發網頁無法開發 PC 和行動裝置兩者都可以瀏覽的網頁,不過這個現象會因為 Visual Studio 2005
            的出現而改變,使用 Visual Studio 2005 開發的網頁可以成功地被 PC
            和行動裝置兩者瀏覽,減輕網頁程式設計和維護工作的負擔。

            



            

圖 7:建立 ASP.NET Mobile Web
            應用程式]型態的專案的操作畫面

 



            

ASP.NET Mobile Web 應用程式型態的專案可以使用的特殊控制項詳見表 2 的說明:

            表 2:ASP.NET Mobile Web 應用程式型態的專案可以使用的特殊控制



            


              
               
               
              
              
               
               
              
              
               
               
              
              
               
               
              
              
               
               
              
              
               
               
              
              
               
               
              
              
               
               
              
              
               
               
              
            

               


               
                控制項名稱


               


               
                說明


               


               
                Form
 


               


               
                負責管理任何數量控制項的容器 


               


               
                TextView


               


               
                TextView

               
                控制項可以用來顯示大量的文字資料,而且文字的字形可以是一般、粗體、斜體,文字中還可以加上

                <p>
<br>、和
                <a>
HTML
                標籤。 


               


               
                PhoneCall


               


                負責執行撥號動作的控制項。


               


               
                List


               


               
                負責顯示項目的清單,其功能類似

                DataList

                Repeater
                控制項。


               


               
                SelectionList


               


               
                顯示資料供使用者選擇的控制項,其功能類似

                CheckBox
CheckBoxListDropDownDropDownListListBoxRadioButton、和
                RadioButtionList

                控制項。


               


               
                ObjectList


               


               
                可以用來顯示資料庫記錄的控制項,其功能類似

                DataGrid

                控制項。


               


               
                DeviceSpecific


               


               
                可以依據行動裝置的種類顯示適當內容的控制項。


               


               
                StyleSheet


               


               
                負責定義其他控制項的樣式的控制項。



            

除了表 2 所列的控制項以外,還有一些控制項和開發 ASP.NET Web
            應用程式的控制項功能相同,在此不另外說明。

 



            

使用 eMbedded Visual C++ 4.0 開發行動裝置應用程式



            

eMbedded Visual C++ 4.0 行動裝置應用程式開發工具的前身是 eMbedded
            Visual Tools 3.0,eMbedded Visual Tools 3.0 提供您使用 Visual Basic 或是
            Visual C++(可以使用 C 或 C++ 語言)開發行動裝置應用程式的能力,但是到了eMbedded Visual C++
            4.0,您只能使用 Visual C++(可以使用 C 或 C++ 語言)開發行動裝置應用程式的能力,要使用 Visual Basic
            的語法開發行動裝置使用的應用程式只能求助於 Visual Studio .NET 2003 或是 Visual Studio 2005
            了。



            

eMbedded Visual C++ 4.0 行動裝置程式開發工具的操作介面類似 Visual
            C++ 6.0 的操作畫面。使用 eMbedded Visual C++ 4.0
            開發行動裝置應用程式的優點是所開發好的應用程式體積小,執行速度快,而且因為是使用 C/C++ 語法開發的,所以可以用來製作和
            Symbian 平台共用的模組,達到移植的效果,這一點是使用 Visual Studio .NET 2003 和 Visual
            Studio 2005 目前尚無法達到的境界。不過使用使用 eMbedded Visual C++ 4.0
            開發行動裝置應用程式的缺點是無法用來開發給行動裝置瀏覽的網頁。圖 8 所示即為使用 eMbedded Visual C++ 4.0
            行動裝置程式開發工具的操作介面。



            


            



            

圖 8:eMbedded Visual C++ 4.0
            行動裝置程式開發工具的操作介面

 



            

[特別注意] eMbedded Visual C++ 4.0 版只內建 Windows
            CE SDK,也就是如果沒有安裝其他的行動裝置平台的 SDK,使用eMbedded Visual C++ 4.0 只能開發
            Windows CE 平台的應用程式,如果您要使用 eMbedded Visual C++ 4.0 開發 Pocket PC 2003
            平台或是 Smartphone 2003 平台的應用程式,您不但需要安裝 Microsoft Pocket PC 2003 SDK 和
            Microsoft Smartphone 2003 SDK,而且這兩個 SDK 還必須在安裝 eMbedded Visual C++
            4.0 行動裝置應用程式開發工具之後安裝,如果您在安裝 eMbedded Visual C++ 4.0 之前安裝 Microsoft
            Pocket PC 2003 SDK 和 Microsoft Smartphone 2003 SDK,則在安裝好 eMbedded
            Visual C++ 4.0 之後還要再安裝一次 Microsoft Pocket PC 2003 SDK 和 Microsoft
            Smartphone 2003 SDK,才有辦法使用 eMbedded Visual C++ 4.0 開發 Pocket PC 2003
            平台和 Smartphone 2003 平台的應用程式。

 



            

使用 Visual Studio 2005 開發行動裝置應用程式

            
Microsoft 今年預計要推出的 Visual Studio 2005 整合了 Visual Studio .NET
            2003 和 eMbedded Visual C++ 4.0 兩個行動裝置開發工具,讓行動裝置應用程式的開發工程師可以使用 Visual
            C++、Visual C#、或是 Visual Basic .NET 的語法開發在行動裝置上執行的應用程式,但是使用Visual C++
            開發行動裝置應用程式的軟體工程師仍然無法開發給行動裝置瀏覽的網頁,而且所開發出來的應用程式會被編譯成二進位的機器碼,而不是
            Microsoft Intermediate Language中間碼 (MSIL)。圖 9 即為使用 Visual Studio
            2005 Beta 1 Refresh 版開發 Smart Device 型態的專案的操作畫面:



            


            



            

圖 9:使用 Visual Studio 2005 Beta 1 開發
            Smart Device 型態專案的操作畫面

 



            

[提示] 您不必另外安裝 Microsoft Pocket PC 2003 SDK 和
            Microsoft Smartphone 2003 SDK 就可以使用 Visual Studio 2005 開發Pocket PC
            2003 平台和 Smartphone 2003 使用的應用程式和網頁。

 



            

使用 Third-Party 廠商提供的開發工具開發 Symbian 智慧型手機應用程式



            

除了 Microsoft
            提供的行動裝置應用程式開發工具以外,還有很多廠商提供開發工具供軟體工程師設計行動裝置應用程式之用,例如 Crossfire
            就是一個可以整合到 AppForge Enterprise Developer Suite (EDS) 和 Microsoft
            Visual Studio 在內多個應用程式開發工具的行動裝置應用程式開發工具,號稱使用 Crossfire 開發的行動裝置應用程式有
            90% 以上的機會可以直接在包括 Palm OS、Pocket PC 2000/2002、Windows Mobile
            2003、Nokia Series 60、以及 Symbian UIQ 在內的各大行動作業系統上正常執行。有關 Crossfire
            的資訊可以參考:

            
            http://www.appforge.com/products/enterprise/crossfire/



            



            如果您是使用 Microsoft Visual Studio .NET 2003 在開發行動裝置應用程式,您可以考慮使用
            OpenNETCF.org 提供的一組 Open Source:The Smart Device Framework。Smart
            Device Framework 在原本 .NET Compact Framework
            提供的類別之外加上了一組功能豐富的類別和控制項,提升軟體工程師在開發行動裝置應用程式的生產力。這個產品還榮獲 Pocket PC
            Magazine 2004 年的 .NET Developer Packages 首獎,有興趣的讀者可以到以下的網址獲取更多有關
            Smart Device Framework 功能的詳細說明:

            
            http://www.opennetcf.org/CategoryView.aspx?category=Home



            



            Managed 應用程式開發 vs Native 應用程式開發



            


            選擇行動裝置應用程式開發工具除了要注意開發工具支援的程式語言和提供的函數庫/類別庫以外,還需要注意各程式開發工具開發出來的應用程式的執行特性。以
            Microsoft 支援的行動裝置應用程式開發工具而言,使用 eMbedded Visual C++ 4.0
            開發的應用程式因為會被編譯成指定裝置可以接受的機器碼,所以稱為 Native 應用程式開發,而使用 Visual Studio.NET
            2003 或是 Visual Studio 2005 的 Visual Basic 或 Visual C#
            開發的行動裝置應用程式因為會被編譯成 Microsoft Intermediate Language 中間碼 (MSIL),所以必須放置在
            .NET 平台上才能執行,所以稱為 Managed 應用程式開發。



            

[注意] 使用 Visual Studio 2005 中的 Visual C++
            開發的行動裝置應用程式是 Native 應用程式,而不是 Managed 應用程式。



            

有關 Native 應用程式和 Managed 應用程式開發的特性描述可以參考表 3 的說明:



            

表 3:Native 應用程式和 Managed 應用程式開發的特性描述



            


              
               
               
               
              
              
               
               
               
              
              
               
               
               
              
              
               
               
               
              
              
               
               
               
              
              
               
               
               
              
              
               
               
               
              
              
               
               
               
              
              
               
               
               
              
              
               
               
               
              
              
               
               
               
              
              
               
               
               
              
              
               
               
               
              
              
               
               
               
              
              
               
               
               
              
              
               
               
               
              
            

               


               
                 


               


               
                Native

                應用程式開發 


               


               
                Managed

                應用程式開發 


               


                支援的函數庫/類別庫 


               


               
                ATL
MFCWin32 API 


               


               
                .NET Compact framework
 


               


                編譯後的結果 


               


                指定
                CPU

                的二進位碼 


               


               
                MSIL

                中間碼 


               


                資源管理 


               


                程式設計者自行管理 


               


               
                .NET

                平台的
Garbage Collection
                功能負責管理 


               


                移植性 


               


                必須為每一種
                CPU

                或平台重新編譯應用程式 


               


                編譯一次即可於所有執行
                .NET

                平台的裝置上執行 


               


                應用程式是否可以在
                PC
上執行? 


               


                必須經過移植才能在
                PC
上執行 


               


                不需移植就能在
                PC
上執行 


               


                能否呼叫
                Web Service?
 


               


                目前不行 


               


                可以 


               


                安全管制 


               


               
                1.     
               

                應用程式自行管理

               


               


               
                2.     
               

                作業系統負責管理

               


               


                 
               


               


               
                1.     
               

                應用程式自行管理

               


               


               
                2.     
               

               
                .NET

                平台負責管理

               


               


               
                3.     
               

                作業系統負責管理

               


               


                支援
                ActiveX/COM


               


               


               


               


               


                適合開發
                Real-Time

                程式


               


               


               


               


               


                適合開發裝置驅動程式?


               


               


               


               


               


                是否可以發揮裝置最大的功能?


               


               


               


               


               


                適合開發
                Shell Extension

                功能?


               


               


               


               


               


                適合開發
                Plug-In?(
例如 Today Screen plug-in)


               


               


               


               


               


                適合開發遠端遙控程式?(使用 Remote API)


               


               


               


               


               


                支援工具


               


               
                Remote Spy++

                Remote Registry Editor

                Remote ZoomIn

                Remote Process Viewer

                Remote File Viewer

                Remote Heap Walker

                Error Lookup

                Remote Kernel Tracker

                Remote Performance Monitor

                Remote System Information

                Remote Call Profiler


               


               
                Error Lookup

                ATL/MFC Trace Tool



            

從表 3
            所列的特性比較可以看出,如果您要開發的是一般圖形介面的應用程式,例如資料庫應用程式,您可以考慮採用 Managed
            應用程式開發,門檻比較低,而且學習曲線也比較短,生產力比較高,但是如果您要開發的是和行動裝置結合的比較緊密的應用程式,可以考慮採用
            Native 應用程式開發,如果有必要還可以將開發好的模組公開給 Managed 應用程式使用。



            

[結語]
            資訊傳達無遠弗屆,如何將重要的資訊即時傳達到需要資訊的商務人士的手裏是很多行動族關心的事情,無線網路與行動裝置的普及適時地達到推波助瀾的效果,形成網際網路的影響力延伸。本文為大家介紹了幾種當紅的行動裝置主要的功能,包括
            Pocket PC 與 Smartphone,以及幾種主要的行動裝置應用程式開發工具及其特性,下一回我們將開始利用這些開發工具設計行動裝置的應用程式。



路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)