新到貨2本75折
Xamarin全棧開發技術與實踐(微課版)

Xamarin全棧開發技術與實踐(微課版)

  • 定價:474
  • 優惠價:87412
  • 運送方式:
  • 臺灣與離島
  • 海外
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 可取貨點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
載入中...
  • 分享
 

內容簡介

複雜工程問題的解決要求學生具備整合運用用戶端開發技能棧、伺服器端開發技能棧、軟體工程技能棧、人機交互技能棧等多個技能棧的能力。為培養學生多技能棧整合運用的能力,本書介紹基於Xamarin.Forms框架的面向iOS、Android,以及Windows平臺的用戶端伺服器端Xamarin全棧開發技術,涵蓋語言特性、設計思想、技術技巧、測試方法等內容,並通過一個完整的實例連接知識與技能。本書尤其注重多種技術棧的有機融合,為培養解決複雜工程問題的能力提供完整的支持。

本書面向具有電腦專業課基礎的讀者。本書讀者應至少掌握一門程式設計語言,並能獨立完成簡單的開發任務。本書可作為全棧開發技術相關課程的本科生教材,也可以作為基於Xamarin.Forms框架的全棧開發入門參考書。
 

作者介紹

張引

男,1985年5月生於遼寧瀋陽。現就職東北大學電腦科學與工程學院。資訊搜索領域副教授,主要從事搜索學習相關研究。發表SCI論文近十篇。獲遼寧省科技進步二等獎一次。
 

目錄

第一部分 基礎與用戶
第1章 馬上開始3
1.1系統要求(簡化版)3
1.2下載Visual Studio Community3
1.3安裝Visual Studio Community4
1.4註冊、下載並安裝ReSharper4
1.5安裝Android Studio5
1.6Hello World!6
1.7背景與概念8
1.8系統要求(完整版)9
1.9動手做10
第2章 認識一批控制項11
2.1網格佈局控制項Grid11
2.2線性佈局控制項StackLayout13
2.3滾動視圖控制項ScrollView14
2.4超連結按鈕HyperlinkButton14
2.5彈出信息DisplayAlert16
2.6開關控制項Switch16
2.7滑塊控制項Slider17
2.8控制項使用的一般規律18
2.9動手做19
第3章 尋找用戶20
3.1重視專案問題的品質20
3.2“認真地”觀察用戶: 使用5W方法22
3.3進一步瞭解用戶: 面對面訪談24
3.4同理心25
3.5奶爸F的觀察與訪談總結25
3.6動手做26
3.7給PBL教師的建議26
第4章 再認識一批控制項28
4.1回應式設計與VisualStateManager28
4.2清單視圖控制項ListView31
4.3動手做34
4.4給PBL教師的建議34
第5章 提出並評價介面設計36
5.1繪製介面設計36
5.2形成操作動線38
5.3評價介面設計39
5.4動手做40
第6章 開啟資料管理之門41
6.1管理少量本地資料: 偏好存儲42
6.2管理大量本地資料: 資料庫42
6.3訪問遠端資料: Web服務46
6.4是否優雅47
6.5動手做49
Xamarin全棧開發技術與實踐(微課版)目錄第二部分框架與方法
第7章 踏上軟體架構之路53
7.1ModelViewViewModel架構模式53
7.2View54
7.3ViewModel55
7.3.1屬性56
7.3.2Command(命令)58
7.4ViewModelLocator59
7.5App.xaml61
7.6再次審視MVVM模式62
7.7動手做63
第8章 MVVM + IService架構64
8.1Model64
8.2IService65
8.3在ViewModel中使用IService66
8.4實現IService68
8.5在ViewModel中獲得IService實例69
8.6審視MVVM + IService架構71
8.7動手做72
8.8給PBL教師的建議72
第9章 編碼規範73
9.1命名規範73
9.2排版規範75
9.3文檔注釋規範76
9.4動手做78
9.5給PBL教師的建議78
第10章 重新審視資料庫79
10.1開啟Dpx: 使用MasterDetail專案範本79
10.2選擇“好的”資料庫81
10.3提出“好的”資料庫設計83
10.4詩詞數據Model: Poetry類84
10.5詩詞資料管理IService: IPoetryStorage86
10.6實現IPoetryStorage87
10.6.1連接到資料庫: 通過Connection屬性87
10.6.2實現GetPoetryAsync函數: 語言集成查詢LINQ88
10.6.3實現GetPoetriesAsync函數: LINQ翻頁89
10.6.4實現InitializeAsync函數: 嵌入式資源90
10.6.5實現Initialized函數91
10.7反思資料庫91
10.8動手做92
10.9給PBL教師的建議92
第11章 測試代碼94
11.1Hello Unit Test World!94
11.2Mocking: 類比任意介面的實現96
11.3決定測試內容97
11.4測試PoetryStorage98
11.5為測試優化設計99
11.6再次測試PoetryStorage101
11.6.1測試Initialized函數: 驗證Mocking調用101
11.6.2測試InitializeAsync函數: 清除副作用102
11.6.3測試GetPoetryAsync函數: 再次調整設計103
11.6.4測試GetPoetriesAsync函數: 初識動態LINQ105
11.7反思單元測試106
11.8動手做107
11.9給PBL教師的建議107
第12章 實戰級資料庫View與ViewModel109
12.1搜索結果頁View: 設計時資料109
12.2搜索結果頁ViewModel111
12.2.1無限滾動與InfiniteScrollCollection111
12.2.2重置搜索結果與PageAppearingCommand114
12.3單元測試搜索結果頁ViewModel115
12.3.1為ViewModel準備IService115
12.3.2測試Command: 使用Command函數117
12.3.3測試可綁定屬性: 監聽PropertyChanged事件118
12.4連接View與ViewModel119
12.4.1ViewModelLocator與App.xaml120
12.4.2擴展控制項的功能: 使用Behavior121
12.5實戰的反思123
12.6動手做124
12.7給PBL教師的建議124
第13章 原始程式碼管理、分支開發與Git125
13.1準備工作125
13.2將項目發佈到Gitee125
13.3同步更改127
13.4解決衝突128
13.5撤銷更改130
13.6分支開發131
13.7關於Git133
第14章 今日推薦頁ViewModel與IService: 從需求到設計135
14.1確定ViewModel的資料與功能135
14.2審視相關的頁面137
14.3設計IService138
14.4反思設計140
14.5動手做141
14.6給PBL教師的建議141
第15章 實戰分支開發142
15.1今日推薦頁View分支142
15.1.1實踐VisualStateManager142
15.1.2顯示背景圖片: 使用綁定值轉換器IValueConverter143
15.1.3使用者介面的平臺差異: 使用OnPlatform146
15.2今日推薦頁ViewModel分支147
15.2.1初始化ViewModel: 使用PageAppearingCommand147
15.2.2背景圖片與詩詞推薦的同步初始化: 並存執行代碼150
15.3單元測試今日推薦頁ViewModel: 測試並存執行的代碼152
15.4反思分支開發153
15.5動手做154
15.6給PBL教師的建議154
第16章 實戰級Web服務用戶端155
16.1今日詩詞Web服務用戶端155
16.1.1構建穩定的Web服務用戶端: 使用using與異常處理155
16.1.2警告服務IAlertService: 為IService服務的IService157
16.1.3實現警告服務IAlertService: MVVM + IService架構的
分層視圖158
16.1.4緩存訪問Token: 記憶體存儲兩級緩存策略161
16.1.5設置訪問Token: 使用HttpRequestHeaders163
16.1.6準備備份方案163
16.2模仿Web服務165
16.3單元測試Web服務用戶端167
16.4反思Web服務用戶端168
16.5動手做168
16.6給PBL教師的建議168
第17章 依賴注入170
17.1新建對象的迷思170
17.2使用工廠函數創建物件172
17.3使用依賴注入容器創建物件174
17.4反思依賴注入176

第三部分 深入用戶端
第18章 文件的下載與緩存179
18.1下載檔案179
18.2檢查檔更新180
18.3設計檔緩存182
18.4實現檔緩存184
18.5檔的單元測試186
18.6反思檔操作187
第19章 頁面導航189
19.1MasterDetail範本的頁面導航189
19.1.1主從列表導航190
19.1.2主從菜單導航191
19.2設計導航服務194
19.3實現導航服務195
19.3.1實現內容導航服務195
19.3.2實現內容頁面啟動服務: 使用字典緩存物件197
19.3.3實現根頁面啟動服務: 工廠函數的優勢199
19.3.4實現根導航服務: 重置導航歷史199
19.4添加並導航到推薦詳情頁201
19.4.1推薦詳情頁ViewModel: 共用ViewModel201
19.4.2推薦詳情頁View202
19.5反思頁面導航204
19.6動手做204
19.7給PBL教師的建議204
第20章 帶參數的頁面導航206
20.1添加詩詞詳情頁206
20.2實現帶參數導航207
20.2.1自訂可綁定屬性209
20.2.2綁定到自訂屬性210
20.2.3賦值到自訂屬性211
20.3導航到詩詞詳情頁212
20.3.1確定ListView的點擊項: 使用事件參數轉換器212
20.3.2傳遞點擊項到Command: 使用帶參數的Command213
20.4反思帶參數導航214
第21章 ViewModel iViewModel215
21.1來自詩詞搜尋網頁的挑戰: “大小”ViewModel215
21.1.1“小”ViewModel216
21.1.2“大”ViewModel218
21.2單元測試“大小ViewModel”: 使用虛函數220
21.3添加詩詞搜尋網頁221
21.4動手做222
21.5給PBL教師的建議222
第22章 LINQ與動態查詢223
22.1深入LINQ223
22.2再識動態LINQ225
22.2.1從FilterViewModel生成查詢準則226
22.2.2組合多個查詢準則227
22.3單元測試動態LINQ: 截獲模仿函數的參數228
22.4更新搜索結果頁230
22.5反思LINQ230
22.6動手做231
第23章 頁面導航的更多細節232
23.1傳遞搜索條件的第二種方案232
23.1.1更新推薦詳情頁ViewModel233
23.1.2更新詩詞搜尋網頁234
23.2更新菜單頁235
23.3初始化頁236
23.3.1添加初始化頁236
23.3.2導航到初始化頁238
23.4動手做239
23.5給PBL教師的建議239
第24章 消息機制240
24.1使用返回值傳遞資訊240
24.2使用事件傳遞資訊241
24.2.1定義事件241
24.2.2關聯事件處理函數242
24.2.3觸發事件242
24.3使用消息機制傳遞資訊244
24.3.1定義消息244
24.3.2監聽消息244
24.3.3發佈消息245
24.4使用消息機制更新導航功能表245
24.4.1定義根導航消息245
24.4.2監聽根導航消息245
24.4.3發佈根導航消息246
24.5反思消息機制246
24.6動手做247
24.7給PBL教師的建議247
第25章 跨頁面同步資料248
25.1收藏Model與IService248
25.1.1設計收藏Model248
25.1.2設計收藏IService249
25.1.3實現收藏IService250
25.2詩詞收藏頁ViewModel與View250
25.3更新詩詞詳情頁252
25.3.1讀取詩詞收藏狀態253
25.3.2更新詩詞收藏狀態254
25.4同步詩詞詳情頁與詩詞收藏頁256
25.4.1定義收藏存儲已更新事件256
25.4.2處理收藏存儲已更新事件257
25.4.3觸發收藏存儲已更新事件258
25.5反思跨頁面同步資料258
25.6動手做259
25.7給PBL教師的建議259
第26章 面向資料同步的設計260
26.1資料同步260
26.2為同步修改設計261
26.2.1修改Model261
26.2.2修改IService與ViewModel261
26.3同步IService263
26.3.1設計同步IService263
26.3.2實現同步IService266
26.4反思資料同步269
26.5給PBL教師的建議270
第27章 與OneDrive同步271
27.1為什麼是OneDrive271
27.2準備工作272
27.2.1厘清概念272
27.2.2註冊用戶端ID273
27.2.3準備集成Azure AD身份驗證273
27.3實現OneDrive遠端收藏存儲274
27.3.1登錄與註銷274
27.3.2上傳與下載275
27.4實現資料同步頁277
27.4.1資料同步頁ViewModel277
27.4.2資料同步頁View278
27.5再次反思設計278
27.6給PBL教師的建議279

第四部分 伺服器端開發
第28章 選擇伺服器端技術方案283
28.1自有伺服器 VS 雲伺服器: 選擇基礎設施283
28.2自建平臺 VS 雲平臺: 選擇開發與部署平臺284
28.3更加簡便的方法285
28.4其他可選項286
28.5Hello Functions287
28.6反思伺服器端技術選型288
28.7動手做288
28.8給PBL教師的建議288
第29章 伺服器端身份驗證289
29.1選擇伺服器端身份驗證方案289
29.2Auth0的身份驗證過程290
29.3伺服器端身份驗證IService292
29.3.1設計身份驗證IService292
29.3.2實現身份驗證IService292
29.4設計遠端收藏存儲Web服務294
29.5Web服務: Ping295
29.6動手做296
第30章 用戶端身份驗證297
30.1設計用戶端身份驗證IService297
30.2實現用戶端身份驗證IService298
30.3添加Azure收藏存儲299
30.3.1實現SignInAsync函數299
30.3.2實現SignOutAsync函數300
30.3.3實現IsSignedInAsync函數300
30.4更新資料同步頁303
30.5繼續實現用戶端身份驗證IService303
30.6反思用戶端身份驗證304
30.7動手做305
第31章 伺服器端授權306
31.1設計伺服器端授權IService306
31.2為遠端收藏存儲Web服務選擇資料庫307
31.2.1要存儲的資料307
31.2.2可用的存儲服務307
31.3實現授權IService: 使用Azure Table Storage308
31.3.1編輯Table Storage資料308
31.3.2連接到Table Storage308
31.3.3讀取Table Storage數據309
31.3.4為Ping Web服務添加授權310
31.4反思伺服器端授權310
31.5動手做311
第32章 緩存訪問Token312
32.1設計Token緩存IService312
32.2實現Token緩存IService313
32.2.1實現GetAsync函數313
32.2.2實現SetAsync函數314
32.3更新AuthenticationService315
32.4動手做315
第33章 上傳與下載Web服務316
33.1伺服器端收藏存儲316
33.1.1設計伺服器端收藏存儲IService316
33.1.2實現伺服器端收藏存儲IService317
33.2下載Web服務318
33.3上傳Web服務320
33.4更新用戶端AzureFavoriteStorage321
33.5清理工作323
第34章 下一步的學習324
 

詳細資料

  • ISBN:9787302591535
  • 規格:平裝 / 325頁 / 16k / 19 x 26 x 1.63 cm / 普通級 / 單色印刷 / 初版
  • 出版地:中國

最近瀏覽商品

 

相關活動

  • 【科普、飲食、電腦】高寶電子書暢銷書展:人生就是選擇的總和,全展75折起
 

購物說明

溫馨提醒您:若您訂單中有購買簡體館無庫存/預售書或庫存於海外廠商的書籍,建議與其他商品分開下單,以避免等待時間過長,謝謝。

大陸出版品書況:因裝幀品質及貨運條件未臻完善,書況與台灣出版品落差甚大,封面老舊、出現磨痕、凹痕等均屬常態,故簡體字館除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。 

 

請注意,部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

調貨時間:若您購買海外庫存之商品,於您完成訂購後,商品原則上約45個工作天內抵台(若有將延遲另行告知)。為了縮短等待的時間,建議您將簡體書與其它商品分開訂購,以利一般商品快速出貨。 

若您具有法人身份為常態性且大量購書者,或有特殊作業需求,建議您可洽詢「企業採購」。 

退換貨說明 

會員所購買的商品均享有到貨十天的猶豫期(含例假日)。退回之商品必須於猶豫期內寄回。 

辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 

訂購本商品前請務必詳閱商品退換貨原則

  • 翦商作者新作79折
  • 針灸匠張寶旬
  • 浪漫小說精選3本72折