注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術(shù)計算機/網(wǎng)絡(luò)軟件工程及軟件方法學Xamarin全棧開發(fā)技術(shù)與實踐(微課版)

Xamarin全棧開發(fā)技術(shù)與實踐(微課版)

Xamarin全棧開發(fā)技術(shù)與實踐(微課版)

定 價:¥79.00

作 者: 張引,趙玉麗,張斌,高克寧 著
出版社: 清華大學出版社
叢編項: 面向新工科專業(yè)建設(shè)計算機系列教材
標 簽: 暫缺

ISBN: 9787302591535 出版時間: 2022-01-01 包裝:
開本: 16開 頁數(shù): 344 字數(shù):  

內(nèi)容簡介

  復(fù)雜工程問題的解決要求學生具備整合運用客戶端開發(fā)技能棧、服務(wù)器端開發(fā)技能棧、軟件工程技能棧、人機交互技能棧等多個技能棧的能力。為培養(yǎng)學生多技能棧整合運用的能力,本書介紹基于Xamarin.Forms框架的面向iOS、Android,以及Windows平臺的客戶端服務(wù)器端Xamarin全棧開發(fā)技術(shù),涵蓋語言特性、設(shè)計思想、技術(shù)技巧、測試方法等內(nèi)容,并通過一個完整的實例連接全部知識與技能。本書尤其注重多種技術(shù)棧的有機融合,為培養(yǎng)解決復(fù)雜工程問題的能力提供完整的支持。 本書面向具有一定計算機專業(yè)課基礎(chǔ)的讀者。本書讀者應(yīng)至少掌握一門編程語言,并能獨立完成簡單的開發(fā)任務(wù)。本書可作為全棧開發(fā)技術(shù)相關(guān)課程的本科生教材,也可以作為基于Xamarin.Forms框架的全棧開發(fā)入門參考書。

作者簡介

  張引,男,1985年5月生于遼寧沈陽。現(xiàn)就職東北大學計算機科學與工程學院。信息搜索領(lǐng)域副教授,主要從事搜索學習相關(guān)研究。發(fā)表SCI論文近十篇。獲遼寧省科技進步二等獎一次。

圖書目錄

部分基礎(chǔ)與用戶
第1章馬上開始3
1.1系統(tǒng)要求(簡化版)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系統(tǒng)要求(完整版)9
1.9動手做10
第2章認識一批控件11
2.1網(wǎng)格布局控件Grid11
2.2線性布局控件StackLayout13
2.3滾動視圖控件ScrollView14
2.4超鏈接按鈕HyperlinkButton14
2.5彈出信息DisplayAlert16
2.6開關(guān)控件Switch16
2.7滑塊控件Slider17
2.8控件使用的一般規(guī)律18
2.9動手做19
第3章尋找用戶20
3.1重視項目問題的質(zhì)量20
3.2“認真地”觀察用戶: 使用5W方法22
3.3進一步了解用戶: 面對面訪談24
3.4同理心25
3.5奶爸F的觀察與訪談總結(jié)25
3.6動手做26
3.7給PBL教師的建議26
第4章再認識一批控件28
4.1響應(yīng)式設(shè)計與VisualStateManager28
4.2列表視圖控件ListView31
4.3動手做34
4.4給PBL教師的建議34
第5章提出并評價界面設(shè)計36
5.1繪制界面設(shè)計36
5.2形成操作動線38
5.3評價界面設(shè)計39
5.4動手做40
第6章開啟數(shù)據(jù)管理之門41
6.1管理少量本地數(shù)據(jù): 偏好存儲42
6.2管理大量本地數(shù)據(jù): 數(shù)據(jù)庫42
6.3訪問遠程數(shù)據(jù): Web服務(wù)46
6.4是否優(yōu)雅47
6.5動手做49
Xamarin全棧開發(fā)技術(shù)與實踐(微課版)目錄第二部分框架與方法
第7章踏上軟件架構(gòu)之路53
7.1ModelViewViewModel架構(gòu)模式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架構(gòu)64
8.1Model64
8.2IService65
8.3在ViewModel中使用IService66
8.4實現(xiàn)IService68
8.5在ViewModel中獲得IService實例69
8.6審視MVVM IService架構(gòu)71
8.7動手做72
8.8給PBL教師的建議72
第9章編碼規(guī)范73
9.1命名規(guī)范73
9.2排版規(guī)范75
9.3文檔注釋規(guī)范76
9.4動手做78
9.5給PBL教師的建議78
第10章重新審視數(shù)據(jù)庫79
10.1開啟Dpx: 使用MasterDetail項目模板79
10.2選擇“好的”數(shù)據(jù)庫81
10.3提出“好的”數(shù)據(jù)庫設(shè)計83
10.4詩詞數(shù)據(jù)Model: Poetry類84
10.5詩詞數(shù)據(jù)管理IService: IPoetryStorage86
10.6實現(xiàn)IPoetryStorage87
10.6.1連接到數(shù)據(jù)庫: 通過Connection屬性87
10.6.2實現(xiàn)GetPoetryAsync函數(shù): 語言集成查詢LINQ88
10.6.3實現(xiàn)GetPoetriesAsync函數(shù): LINQ翻頁89
10.6.4實現(xiàn)InitializeAsync函數(shù): 嵌入式資源90
10.6.5實現(xiàn)Initialized函數(shù)91
10.7反思數(shù)據(jù)庫91
10.8動手做92
10.9給PBL教師的建議92
第11章測試代碼94
11.1Hello Unit Test World!94
11.2Mocking: 模擬任意接口的實現(xiàn)96
11.3決定測試內(nèi)容97
11.4測試PoetryStorage98
11.5為測試優(yōu)化設(shè)計99
11.6再次測試PoetryStorage101
11.6.1測試Initialized函數(shù): 驗證Mocking調(diào)用101
11.6.2測試InitializeAsync函數(shù): 清除副作用102
11.6.3測試GetPoetryAsync函數(shù): 再次調(diào)整設(shè)計103
11.6.4測試GetPoetriesAsync函數(shù): 初識動態(tài)LINQ105
11.7反思單元測試106
11.8動手做107
11.9給PBL教師的建議107
第12章實戰(zhàn)級數(shù)據(jù)庫View與ViewModel109
12.1搜索結(jié)果頁View: 設(shè)計時數(shù)據(jù)109
12.2搜索結(jié)果頁ViewModel111
12.2.1無限滾動與InfiniteScrollCollection111
12.2.2重置搜索結(jié)果與PageAppearingCommand114
12.3單元測試搜索結(jié)果頁ViewModel115
12.3.1為ViewModel準備IService115
12.3.2測試Command: 使用Command函數(shù)117
12.3.3測試可綁定屬性: 監(jiān)聽PropertyChanged事件118
12.4連接View與ViewModel119
12.4.1ViewModelLocator與App.xaml120
12.4.2擴展控件的功能: 使用Behavior121
12.5實戰(zhàn)的反思123
12.6動手做124
12.7給PBL教師的建議124
第13章源代碼管理、分支開發(fā)與Git125
13.1準備工作125
13.2將項目發(fā)布到Gitee125
13.3同步更改127
13.4解決沖突128
13.5撤銷更改130
13.6分支開發(fā)131
13.7關(guān)于Git133
第14章今日推薦頁ViewModel與IService: 從需求到設(shè)計135
14.1確定ViewModel的數(shù)據(jù)與功能135
14.2審視相關(guān)的頁面137
14.3設(shè)計IService138
14.4反思設(shè)計140
14.5動手做141
14.6給PBL教師的建議141
第15章實戰(zhàn)分支開發(fā)142
15.1今日推薦頁View分支142
15.1.1實踐VisualStateManager142
15.1.2顯示背景圖片: 使用綁定值轉(zhuǎn)換器IValueConverter143
15.1.3用戶界面的平臺差異: 使用OnPlatform146
15.2今日推薦頁ViewModel分支147
15.2.1初始化ViewModel: 使用PageAppearingCommand147
15.2.2背景圖片與詩詞推薦的同步初始化: 并行執(zhí)行代碼150
15.3單元測試今日推薦頁ViewModel: 測試并行執(zhí)行的代碼152
15.4反思分支開發(fā)153
15.5動手做154
15.6給PBL教師的建議154
第16章實戰(zhàn)級Web服務(wù)客戶端155
16.1今日詩詞Web服務(wù)客戶端155
16.1.1構(gòu)建穩(wěn)定的Web服務(wù)客戶端: 使用using與異常處理155
16.1.2警告服務(wù)IAlertService: 為IService服務(wù)的IService157
16.1.3實現(xiàn)警告服務(wù)IAlertService: MVVM IService架構(gòu)的
分層視圖158
16.1.4緩存訪問Token: 內(nèi)存存儲兩級緩存策略161
16.1.5設(shè)置訪問Token: 使用HttpRequestHeaders163
16.1.6準備備份方案163
16.2模仿Web服務(wù)165
16.3單元測試Web服務(wù)客戶端167
16.4反思Web服務(wù)客戶端168
16.5動手做168
16.6給PBL教師的建議168
第17章依賴注入170
17.1新建對象的迷思170
17.2使用工廠函數(shù)創(chuàng)建對象172
17.3使用依賴注入容器創(chuàng)建對象174
17.4反思依賴注入176
第三部分深入客戶端
第18章文件的下載與緩存179
18.1下載文件179
18.2檢查文件更新180
18.3設(shè)計文件緩存182
18.4實現(xiàn)文件緩存184
18.5文件的單元測試186
18.6反思文件操作187
第19章頁面導(dǎo)航189
19.1MasterDetail模板的頁面導(dǎo)航189
19.1.1主從列表導(dǎo)航190
19.1.2主從菜單導(dǎo)航191
19.2設(shè)計導(dǎo)航服務(wù)194
19.3實現(xiàn)導(dǎo)航服務(wù)195
19.3.1實現(xiàn)內(nèi)容導(dǎo)航服務(wù)195
19.3.2實現(xiàn)內(nèi)容頁面激活服務(wù): 使用字典緩存對象197
19.3.3實現(xiàn)根頁面激活服務(wù): 工廠函數(shù)的優(yōu)勢199
19.3.4實現(xiàn)根導(dǎo)航服務(wù): 重置導(dǎo)航歷史199
19.4添加并導(dǎo)航到推薦詳情頁201
19.4.1推薦詳情頁ViewModel: 共用ViewModel201
19.4.2推薦詳情頁View202
19.5反思頁面導(dǎo)航204
19.6動手做204
19.7給PBL教師的建議204
第20章帶參數(shù)的頁面導(dǎo)航206
20.1添加詩詞詳情頁206
20.2實現(xiàn)帶參數(shù)導(dǎo)航207
20.2.1自定義可綁定屬性209
20.2.2綁定到自定義屬性210
20.2.3賦值到自定義屬性211
20.3導(dǎo)航到詩詞詳情頁212
20.3.1確定ListView的點擊項: 使用事件參數(shù)轉(zhuǎn)換器212
20.3.2傳遞點擊項到Command: 使用帶參數(shù)的Command213
20.4反思帶參數(shù)導(dǎo)航214
第21章ViewModel in ViewModel215
21.1來自詩詞搜索頁的挑戰(zhàn): “大小”ViewModel215
21.1.1“小”ViewModel216
21.1.2“大”ViewModel218
21.2單元測試“大小ViewModel”: 使用虛函數(shù)220
21.3添加詩詞搜索頁221
21.4動手做222
21.5給PBL教師的建議222
第22章LINQ與動態(tài)查詢223
22.1深入LINQ223
22.2再識動態(tài)LINQ225
22.2.1從FilterViewModel生成查詢條件226
22.2.2組合多個查詢條件227
22.3單元測試動態(tài)LINQ: 截獲模仿函數(shù)的參數(shù)228
22.4更新搜索結(jié)果頁230
22.5反思LINQ230
22.6動手做231
第23章頁面導(dǎo)航的更多細節(jié)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導(dǎo)航到初始化頁238
23.4動手做239
23.5給PBL教師的建議239
第24章消息機制240
24.1使用返回值傳遞信息240
24.2使用事件傳遞信息241
24.2.1定義事件241
24.2.2關(guān)聯(lián)事件處理函數(shù)242
24.2.3觸發(fā)事件242
24.3使用消息機制傳遞信息244
24.3.1定義消息244
24.3.2監(jiān)聽消息244
24.3.3發(fā)布消息245
24.4使用消息機制更新導(dǎo)航菜單245
24.4.1定義根導(dǎo)航消息245
24.4.2監(jiān)聽根導(dǎo)航消息245
24.4.3發(fā)布根導(dǎo)航消息246
24.5反思消息機制246
24.6動手做247
24.7給PBL教師的建議247
第25章跨頁面同步數(shù)據(jù)248
25.1收藏Model與IService248
25.1.1設(shè)計收藏Model248
25.1.2設(shè)計收藏IService249
25.1.3實現(xiàn)收藏IService250
25.2詩詞收藏頁ViewModel與View250
25.3更新詩詞詳情頁252
25.3.1讀取詩詞收藏狀態(tài)253
25.3.2更新詩詞收藏狀態(tài)254
25.4同步詩詞詳情頁與詩詞收藏頁256
25.4.1定義收藏存儲已更新事件256
25.4.2處理收藏存儲已更新事件257
25.4.3觸發(fā)收藏存儲已更新事件258
25.5反思跨頁面同步數(shù)據(jù)258
25.6動手做259
25.7給PBL教師的建議259
第26章面向數(shù)據(jù)同步的設(shè)計260
26.1數(shù)據(jù)同步260
26.2為同步修改設(shè)計261
26.2.1修改Model261
26.2.2修改IService與ViewModel261
26.3同步IService263
26.3.1設(shè)計同步IService263
26.3.2實現(xiàn)同步IService266
26.4反思數(shù)據(jù)同步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實現(xiàn)OneDrive遠程收藏存儲274
27.3.1登錄與注銷274
27.3.2上傳與下載275
27.4實現(xiàn)數(shù)據(jù)同步頁277
27.4.1數(shù)據(jù)同步頁ViewModel277
27.4.2數(shù)據(jù)同步頁View278
27.5再次反思設(shè)計278
27.6給PBL教師的建議279
第四部分服務(wù)器端開發(fā)
第28章選擇服務(wù)器端技術(shù)方案283
28.1自有服務(wù)器 VS 云服務(wù)器: 選擇基礎(chǔ)設(shè)施283
28.2自建平臺 VS 云平臺: 選擇開發(fā)與部署平臺284
28.3更加簡便的方法285
28.4其他可選項286
28.5Hello Functions287
28.6反思服務(wù)器端技術(shù)選型288
28.7動手做288
28.8給PBL教師的建議288
第29章服務(wù)器端身份驗證289
29.1選擇服務(wù)器端身份驗證方案289
29.2Auth0的身份驗證過程290
29.3服務(wù)器端身份驗證IService292
29.3.1設(shè)計身份驗證IService292
29.3.2實現(xiàn)身份驗證IService292
29.4設(shè)計遠程收藏存儲Web服務(wù)294
29.5首個Web服務(wù): Ping295
29.6動手做296
第30章客戶端身份驗證297
30.1設(shè)計客戶端身份驗證IService297
30.2實現(xiàn)客戶端身份驗證IService298
30.3添加Azure收藏存儲299
30.3.1實現(xiàn)SignInAsync函數(shù)299
30.3.2實現(xiàn)SignOutAsync函數(shù)300
30.3.3實現(xiàn)IsSignedInAsync函數(shù)300
30.4更新數(shù)據(jù)同步頁303
30.5繼續(xù)實現(xiàn)客戶端身份驗證IService303
30.6反思客戶端身份驗證304
30.7動手做305
第31章服務(wù)器端授權(quán)306
31.1設(shè)計服務(wù)器端授權(quán)IService306
31.2為遠程收藏存儲Web服務(wù)選擇數(shù)據(jù)庫307
31.2.1要存儲的數(shù)據(jù)307
31.2.2可用的存儲服務(wù)307
31.3實現(xiàn)授權(quán)IService: 使用Azure Table Storage308
31.3.1編輯Table Storage數(shù)據(jù)308
31.3.2連接到Table Storage308
31.3.3讀取Table Storage數(shù)據(jù)309
31.3.4為Ping Web服務(wù)添加授權(quán)310
31.4反思服務(wù)器端授權(quán)310
31.5動手做311
第32章緩存訪問Token312
32.1設(shè)計Token緩存IService312
32.2實現(xiàn)Token緩存IService313
32.2.1實現(xiàn)GetAsync函數(shù)313
32.2.2實現(xiàn)SetAsync函數(shù)314
32.3更新AuthenticationService315
32.4動手做315
第33章上傳與下載Web服務(wù)316
33.1服務(wù)器端收藏存儲316
33.1.1設(shè)計服務(wù)器端收藏存儲IService316
33.1.2實現(xiàn)服務(wù)器端收藏存儲IService317
33.2下載Web服務(wù)318
33.3上傳Web服務(wù)320
33.4更新客戶端AzureFavoriteStorage321
33.5清理工作323
第34章下一步的學習324

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.talentonion.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號