This commit is contained in:
Alekseev Artem 2018-10-29 19:42:23 +03:00
Родитель c485279ebc
Коммит ae403000a4
8 изменённых файлов: 12 добавлений и 12 удалений

Просмотреть файл

@ -74,7 +74,7 @@ Note, that you need to ***Reload*** Visual Stuido Code after installing extensio
![Screenshot of Visual Studio Code for Reloading Extensions](Assets/VSCodeReloadExtensions.png)
Once the extensions has been installed successfull and Visual Stuido Code has been reloaded, you should see a new ***Azure*** tab on the side. Select it and make sure that you are logged in with you Azure account. Please verify, that you see at least one of your subscriptions here.
Once the extensions has been installed successful and Visual Stuido Code has been reloaded, you should see a new ***Azure*** tab on the side. Select it and make sure that you are logged in with you Azure account. Please verify, that you see at least one of your subscriptions here.
![Screenshot of Visual Studio Code showing Subscriptions in the Azure Tab](Assets/VSCodeAzureSubs.png)
@ -84,7 +84,7 @@ Now you are good to go! Open the recently downloaded and unzipped Workshop folde
### Mobile Development with Xamarin (optional)
If you want to compile the Xamarin Application on you own, you will need to install the Xamarin tooling. You don't need to have this, to follow the workshop but if you already are a Xamarin Developer or always wanted to get started, give it a go! The setup of a Xamarin development environment can get a little bit tricky and time consuming as it has dependancies on many SDKs and technologies from different companies.
If you want to compile the Xamarin Application on you own, you will need to install the Xamarin tooling. You don't need to have this, to follow the workshop but if you already are a Xamarin Developer or always wanted to get started, give it a go! The setup of a Xamarin development environment can get a little bit tricky and time consuming as it has dependencies on many SDKs and technologies from different companies.
#### Windows

Просмотреть файл

@ -14,7 +14,7 @@ It's for the reason that we'll opt to use Platform as a Service (PaaS) as much a
Above you can see a high-level overview of our production architecture. Some key decisions:
### Orchestration
We were going to leverage our .NET skills and build a ASP.NET Web API targetting .NET Core; we've lots of flexibility on where and how to host the code.
We were going to leverage our .NET skills and build a ASP.NET Web API targeting .NET Core; we've lots of flexibility on where and how to host the code.
We picked Azure App Service as it supports great IDE integration for both Visual Studio PC and Visual Studio Mac, as well as offering all the PaaS goodness we need to focus on other parts of the solution.

Просмотреть файл

@ -315,5 +315,5 @@ The likelihood of running into this problem can be substantially mitigated with
---
### Further Reading
* [Offical Documentation](https://docs.microsoft.com/en-us/azure/app-service/)
* [Official Documentation](https://docs.microsoft.com/en-us/azure/app-service/)
* [Adding API documentation with Swagger](https://docs.microsoft.com/en-us/aspnet/core/tutorials/web-api-help-pages-using-swagger)

Просмотреть файл

@ -88,13 +88,13 @@ Once we add the connection information to the App Service Settings, the Web API
![Empty List Of Jobs](Assets/EmptyListOfJobs.png)
As we can see, (of course) there are no jobs inside the database at the moment. But we don't get an error message but an empty list. That means, that there is at least "something" inside of our database now. The [`DocumentDBRepositoryBase.cs`](/Backend/Monolithic/Services/DocumentDBRepositoryBase.cs#L97-L138) class creates databases and collections that are not existant automatically when it gets asked for them.
As we can see, (of course) there are no jobs inside the database at the moment. But we don't get an error message but an empty list. That means, that there is at least "something" inside of our database now. The [`DocumentDBRepositoryBase.cs`](/Backend/Monolithic/Services/DocumentDBRepositoryBase.cs#L97-L138) class creates databases and collections that are not existent automatically when it gets asked for them.
Let's check the Cosmos DB's ***Data Explorer*** at the Azure Portal to see what happened!
![Cosmos DB With Empty Collection](Assets/CosmosWithEmptyCollection.png)
As we can see, a `contosomaintenance` database has been created with an empty `jobs` collection. If we click at the ***Scale & Settings*** tap, we can see that the collection has been created with 400 RUs reserverd, which is the minimum. Whenever we see more traction on this collection, we can scale up here.
As we can see, a `contosomaintenance` database has been created with an empty `jobs` collection. If we click at the ***Scale & Settings*** tap, we can see that the collection has been created with 400 RUs reserved, which is the minimum. Whenever we see more traction on this collection, we can scale up here.
#### 1.4.2 Add a new document manually

Просмотреть файл

@ -14,7 +14,7 @@ We'll be using API Management in today's workshop to act as both a gateway our A
- Manage and control API access and protect them from abuse
- Monetize APIs or parts of it
- Bundle multiple APIs together
- Add new capabilities to existing APIs, such as respone caching
- Add new capabilities to existing APIs, such as response caching
- Insights of usage and health from analytics reports
#### What does it cost

Просмотреть файл

@ -6,7 +6,7 @@ The mobile app currently runs on both iOS and Android devices using Xamarin.Form
![iPhone App Design](Assets/AppDesign.png)
### 2.1 Development SDK
The apps have been developed with [Xamarin.Forms](https://github.com/xamarin/Xamarin.Forms) targetting .NET Standard 2.0. You should find all your favourite .NET libraries will work with both the backend (also targeting .NET Standard 2.0) and the mobile apps.
The apps have been developed with [Xamarin.Forms](https://github.com/xamarin/Xamarin.Forms) targeting .NET Standard 2.0. You should find all your favourite .NET libraries will work with both the backend (also targeting .NET Standard 2.0) and the mobile apps.
Using Xamarin.Forms makes it possible for us to write our app just once using C# and XAML and have it run natively on a variety of platforms. This is achieved as it's an abstraction API built on top of Xamarin's traditional mobile development SDKs. Looking at the architecture below, you can see that with traditional Xamarin we can achieve up to 75% code reuse through sharing the business logic of our app.

Просмотреть файл

@ -1,7 +1,7 @@
![Banner](Assets/Banner.png)
# App Center
[App Center](https://www.visualstudio.com/app-center/) offers a rich suit of services aimed at mobile devlopers. We're going to use it today to add crash reporting, anayltics and push notifications. We also have a CI/CD workshop that'll be running which covers the build and testing elements of mobile development.
[App Center](https://www.visualstudio.com/app-center/) offers a rich suit of services aimed at mobile devlopers. We're going to use it today to add crash reporting, analytics and push notifications. We also have a CI/CD workshop that'll be running which covers the build and testing elements of mobile development.
## Crash Reporting
App Center Crash Reporting lets us know when our app crashes on any device.
@ -11,7 +11,7 @@ App Center Crash Reporting lets us know when our app crashes on any device.
Crashes are grouped together by similarities like the reason for the crash and where the occur in the app. It is possible to inspect each individual crash report for the last 3 months, after that a stub of 25 crashes will be kept.
![Crash Report](Assets/AppCenterCrashReport.png)
## Anayltics
## Analytics
App Center Analytics will help you understand more about your app users and their behavior when using your app.
![Crash Report](Assets/AppCenterAnalyticsOverview.png)

Просмотреть файл

@ -10,6 +10,6 @@ Weve tried to make this app as production ready as possible and provide a goo
You should have already followed the [setup guide](01%20Setup/README.md) before attending the workshop. We've scheduled an hour before things start for you to get support with configuration, but please try your best to attend with a fully functioning development enviroment.
This workshop is for intermediate to experienced C# developers who may lack either Azure or Xamarin experiance. This workshop is not for C# beginners and we expect you to know how design patterns such as Mvvm and MVC as well as having a basic understanding of the differences between developing Web APIs vs Mobile front-ends.
This workshop is for intermediate to experienced C# developers who may lack either Azure or Xamarin experience. This workshop is not for C# beginners and we expect you to know how design patterns such as Mvvm and MVC as well as having a basic understanding of the differences between developing Web APIs vs Mobile front-ends.
If you are unfamiliar with the C# language, you can get started with a free course on the Internet. The basics of the language can be learned at www.learncs.org. Once you have the language basics under your belt, you can move on to building applications with Xamarin. You should be ready to follow this guided workshop, creating both the front-end and backend to run a field service app.
If you are unfamiliar with the C# language, you can get started with a free course on the Internet. The basics of the language can be learned at www.learncs.org. Once you have the language basics under your belt, you can move on to building applications with Xamarin. You should be ready to follow this guided workshop, creating both the front-end and backend to run a field service app.