1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
2
< html xmlns ="http://www.w3.org/1999/xhtml ">
3
3
4
4
< head >
5
5
< meta content ="text/html; charset=utf-8 " http-equiv ="Content-Type " />
6
6
< link type ="text/css " rel ="stylesheet " href ="bootstrap.min.css " />
7
- < title > Development Guide</ title >
7
+ < title > Xamarin Development Guide</ title >
8
8
</ head >
9
9
10
10
< body >
@@ -21,15 +21,15 @@ <h3>Introduction</h3>
21
21
< p > Xamarin is a cross-platform UI toolkit that allows developers to efficiently
22
22
create native cross platform user interface layouts.< br >
23
23
This document is intended to show how to setup a Xamarin development environment
24
- and introduce existing features, user interfaces on Asp.Net Zero Xamarin platform.< br >
24
+ and introduce existing features and user interfaces on Asp.Net Zero Xamarin platform.
25
25
For an overview of the Xamarin installation and setup practices see
26
26
< a href ="https://developer.xamarin.com/guides/xamarin-forms/getting-started/installation/ ">
27
27
Xamarin.Forms Requirements</ a > and
28
28
< a href ="https://developer.xamarin.com/guides/cross-platform/getting_started/installation/ ">
29
29
Installation</ a > . < br >
30
30
For an overview of the Asp.Net Zero getting started see
31
- < a href ="/ Getting-Started-Core "> Asp.Net Zero Getting Started.</ a > The Asp.Net Zero
32
- Xamarin is only available for Asp.Net Core! ( Angular UI or Mvc UI) </ p >
31
+ < a href ="Getting-Started-Core "> Asp.Net Zero Getting Started.</ a > The Asp.Net Zero
32
+ Xamarin is only available for Asp.Net Core included Angular UI and Mvc UI. </ p >
33
33
< h4 > Prerequisites</ h4 >
34
34
< p > Following tools are needed in order to develop ASP.NET Zero Xamarin:</ p >
35
35
< ul >
@@ -65,7 +65,7 @@ <h4>Android</h4>
65
65
< img class ="img-thumbnail " alt ="Xamarin Android Options " src ="images/options-android-vs-sml.png " />
66
66
< h4 > Mac System Requirements</ h4 >
67
67
< p > You can use Visual Studio for Mac to develop Xamarin.Forms apps on OS X El Capitan
68
- (10.11) or newer. To develop iOS apps, it is recommended Having at least the iOS
68
+ (10.11) or newer. To develop iOS apps, it is recommended having at least the iOS
69
69
10 SDK and Xcode latest installed.</ p >
70
70
< h4 > Windows System Requirements</ h4 >
71
71
< p > Xamarin.Forms apps for iOS and Android can be built on any Windows installation
@@ -81,16 +81,17 @@ <h4>Solution Structure (Layers)</h4>
81
81
</ ul >
82
82
< p > For Xamarin development, you can open < b > .Mobile.sln</ b > .</ p >
83
83
< div class ="image-container ">
84
- < img class ="img-thumbnail " alt ="ASP.NET Zero Xamarin Architecture " src ="images/xamarin-architecture.png " />
84
+
85
+ < img class ="img-thumbnail " alt ="ASP.NET Zero Xamarin Architecture " src ="images/xamarin-architecture.png "/>
85
86
< p > Xamarin Architecture</ p >
86
87
</ div >
87
88
< div class ="image-container ">
88
- < img class ="img-thumbnail " alt ="ASP.NET Zero Mobile Solution " src ="images/mobile-solution-overview.png " />
89
+ < img class ="img-thumbnail " alt ="ASP.NET Zero Mobile Solution " src ="images/mobile-solution-overview.png "/>
89
90
< p > Mobile Solution</ p >
90
91
</ div >
91
92
< p > There are 6 projects in the mobile solution:</ p >
92
93
< ul >
93
- < li > < strong > Core.Shared</ strong > project basic primitive types as consts, enums
94
+ < li > < strong > Core.Shared</ strong > project contains basic primitive types like consts, enums that
94
95
used in all layers of the solution.</ li >
95
96
< li > < strong > Application.Shared</ strong > project contains data transfer objects
96
97
(DTOs) and interfaces of application services shared with application layer
@@ -114,9 +115,9 @@ <h4>Host</h4>
114
115
dotnet run</ pre >
115
116
< p > In order to every time write these lines, you can download the batch file below
116
117
and run it to host your web api.</ p >
117
- < pre style ="width:210px "> < a href ="etc/start-host.zip "> Download start-host.zip</ a > </ pre >
118
+ < pre style ="width:210px "> < a href ="https://github.com/aspnetzero/documents/tree/master/doc/ etc/start-host.zip "> Download start-host.zip</ a > </ pre >
118
119
< div class ="bs-callout bs-callout-warning ">
119
- < strong > < i class ="fa fa-warning "> </ i > Warning</ strong >
120
+ < strong > < i class ="fa fa-warning "> </ i > Warning</ strong >
120
121
< div >
121
122
Before running the batch file, open it in notepad and replace the Web.Host
122
123
or Web.Mvc directory path with yours!</ div >
@@ -189,15 +190,15 @@ <h4>Debugging IOS</h4>
189
190
< br >
190
191
< br >
191
192
< div class ="bs-callout bs-callout-warning ">
192
- < p > < i class ="fa fa-warning "> </ i > < a href ="https://www.xamarin.com/live/ "> Xamarin
193
+ < p > < i class ="fa fa-warning "> </ i > < a href ="https://www.xamarin.com/live/ "> Xamarin
193
194
Live Player</ a > currently does not support some of the key features. Thus Asp.Net
194
195
Zero Xamarin application cannot be debugged on Xamarin Live Player. Further
195
196
information read
196
197
< a href ="https://developer.xamarin.com/guides/cross-platform/live/limitations/ ">
197
198
Xamarin Live Player limitations.</ a > </ p >
198
199
</ div >
199
200
< div class ="bs-callout bs-callout-info ">
200
- < p > < i class ="fa fa-info-circle "> </ i > < a href ="https://www.livexaml.com/ "> LiveXAML</ a >
201
+ < p > < i class ="fa fa-info-circle "> </ i > < a href ="https://www.livexaml.com/ "> LiveXAML</ a >
201
202
is a Xaml previewer runs while you are debugging your application inside an
202
203
emulator. Whenever you save any XAML file, it automatically updates the running
203
204
application. If you want to purchase LiveXAML, Asp.Net Zero customers get %30
@@ -213,12 +214,12 @@ <h3>Xamarin.Forms</h3>
213
214
< h4 > Mobile.Droid</ h4 >
214
215
< p > Xamarin Android project has a very basic structure. Asp.Net Zero adds or modifies
215
216
these files in the default project; </ p >
216
- < table width =" 100% " cellspacing =" 1 " >
217
- < tr valign =" top ">
218
- < td width =" 487 " >
219
- < img class =" img-thumbnail " alt =" Android Project Structure " src =" images/xamarin-android-project-structure.png " / >
220
- </ td >
221
- < td >
217
+
218
+ < div class =" image-container ">
219
+ < img class =" img-thumbnail " alt =" Android Project Structure " src =" images/xamarin-android-project-structure.png " / >
220
+ < p > Android Project Structure</ p >
221
+ </ div >
222
+
222
223
< ul >
223
224
< li > < strong > SplashActivity </ strong > There are time consuming background
224
225
operations while starting up like bootstrapping ABP, retrieving configuration
@@ -250,11 +251,9 @@ <h4>Mobile.Droid</h4>
250
251
and Android cultures.</ li >
251
252
</ ul >
252
253
</ div >
253
- </ td >
254
- </ tr >
255
- </ table >
254
+
256
255
< div class ="bs-callout bs-callout-info ">
257
- < strong > < i class ="fa fa-info-circle "> </ i > Information</ strong >
256
+ < strong > < i class ="fa fa-info-circle "> </ i > Information</ strong >
258
257
< p > Asp.Net Zero Xamarin changed the output path (bin) and intermediate output
259
258
path (obj) of Android project to be shorter. The main reason of this is avoiding
260
259
"Path too long" exceptions while compiling project. If you want to modify it,
@@ -265,12 +264,12 @@ <h4>Mobile.Droid</h4>
265
264
< h4 > Mobile.iOS</ h4 >
266
265
< p > Xamarin IOS project has a very simple structure. Asp.Net Zero adds or modifies
267
266
these files in the default project; </ p >
268
- < table width ="100% " cellspacing ="1 ">
269
- < tr valign ="top ">
270
- < td width ="306 ">
267
+
268
+ < div class ="image-container ">
271
269
< img class ="img-thumbnail " alt ="IOS Structure " src ="images/xamarin-ios-project-structure.png " />
272
- </ td >
273
- < td >
270
+ < p > IOS Structure</ p >
271
+ </ div >
272
+
274
273
< ul >
275
274
< li > < strong > Locale </ strong > This class is an adapter between .Net cultures
276
275
and IOS cultures.</ li >
@@ -287,9 +286,7 @@ <h4>Mobile.iOS</h4>
287
286
all the Icon*.png and Default*.png files files with yours based on the
288
287
same sizes.</ li >
289
288
</ ul >
290
- </ td >
291
- </ tr >
292
- </ table >
289
+
293
290
< h4 > Mobile.Shared</ h4 >
294
291
< p > Shared project is a special type of project that can be used across disparate
295
292
CLI platforms including Mobile.iOS and Mobile.Android. That's why it's not been
@@ -304,14 +301,15 @@ <h4>Mobile.Shared</h4>
304
301
Setting Up A Xamarin Cross Platform Solution</ a > </ div >
305
302
</ div >
306
303
< h5 > Project structure</ h5 >
307
- < table width ="100% " cellspacing ="1 ">
308
- < tr valign ="top ">
309
- < td width ="306 ">
304
+ < div class ="image-container ">
310
305
< img class ="img-thumbnail " alt ="Shared Project Structure " src ="images/xamarin-shared-project-structure.png " />
311
- </ td >
312
- < td style ="padding-left:10px "> Mobile.Shared project consists of fundamentals
306
+ < p > Shared Project Structure</ p >
307
+ </ div >
308
+
309
+ < p > Mobile.Shared project consists of fundamentals
313
310
of a Xamarin application like Behaviors, Commands, Controls, Converters,
314
- Extensions,Views and ViewModels.
311
+ Extensions,Views and ViewModels.</ p >
312
+
315
313
< h6 > MVVM</ h6 >
316
314
< p > The Model-View-ViewModel (MVVM) architectural pattern was used in the
317
315
shared project. The pattern enforces a separation between three software
@@ -334,10 +332,7 @@ <h6>MVVM</h6>
334
332
...
335
333
< span style ="background-color: #FFFF00 "> base:ViewManager.AutoWireViewModel="true"</ span >
336
334
...></ pre >
337
- </ td >
338
- </ tr >
339
- < tr valign ="top ">
340
- < td colspan ="2 ">
335
+
341
336
< h6 > Dependency Injection</ h6 >
342
337
< p > Asp.Net Zero Xamarin uses Asp.Net Boilerplate framework dependency injection
343
338
system. Hence it uses
@@ -507,9 +502,7 @@ <h6>ProfilePictureView</h6>
507
502
< p > This is for viewing user profile picture in full screen mode. When user
508
503
taps the thumb profile image on top of the navigation menu, this view is
509
504
shown.</ p >
510
- </ td >
511
- </ tr >
512
- </ table >
505
+
513
506
< h3 > Distribution</ h3 >
514
507
< h4 > Configuration</ h4 >
515
508
< ul >
0 commit comments