• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

dotnet-architecture/eshop-mobile-client: eShop mobile client

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

dotnet-architecture/eshop-mobile-client

开源软件地址(OpenSource Url):

https://github.com/dotnet-architecture/eshop-mobile-client

开源编程语言(OpenSource Language):

C# 100.0%

开源软件介绍(OpenSource Introduction):

eshop-mobile-client

eshop-mobile-client is a reference .NET MAUI multi-platform client app whose imagined purpose is to serve the mobile workforce of a fictitious company that sells products. The app allows you to manage the catalog, view products, and manage the basket and the orders.

Dependencies

Though eshop-mobile-client mobile app relies on the repo eShopOnContainers for it's backend but by default it uses its internal MockServices for all it's functionalities. For more details refer to the Setup section.

eShopOnContainers

Architecture

The app architecture consists of two parts:

  1. A .NET MAUI mobile app for iOS, macOS, Android, and Windows.
  2. Several .NET Web API microservices which are deployed as Docker containers.

.NET MAUI App

This project exercises the following platforms, frameworks, and features:

  • .NET MAUI
    • XAML
    • Behaviors
    • Bindings
    • Converters
    • Central Styles
    • Animations
    • IoC
    • Messaging Center
    • Custom Controls
    • xUnit Tests
  • Azure Mobile Services
    • C# backend
    • WebAPI
    • Entity Framework
    • Identity Server 4

Backend Services

All the backend services-related code and components are maintained as eShopOnContainers repo.

Supported platforms

The app targets three platforms:

  • iOS
  • macOS
  • Android
  • Universal Windows Platform (UWP)
    • UWP is supported only in Visual Studio for Windows, not Visual Studio for macOS

Requirements

  • Visual Studio 2022 (2022 or higher) to compile C# language features (or Visual Studio MacOS)
    • Visual Studio Community Edition is fully supported!
  • .NET MAUI add-ons for Visual Studio (available via the Visual Studio installer)

Setup

1. Ensure the .NET MAUI platform is installed

You can do that by following the steps mentioned in Installing .NET MAUI

2. Ensure .NET MAUI is updated

Visual Studio will periodically automatically check for updates. You can also manually check for updates using the Update Visual Studio options.

3. Project Setup

Restore NuGet packages for the project.

4. Ensure Android Emulator is installed

You can use any Android emulator although it is highly recommended to use an x86-based version.

Visual Studio Android Emulator

Note: The Visual Studio Android Emulator cannot run well inside a virtual machine or over Remote Desktop or VNC since it relies on virtualization and OpenGL.

To deploy and debug the application on a physical device, refer to the Debug on an Android device article.

5. Ensure Mac connection

To set up the Mac host, you must enable communication between the Xamarin extension for Visual Studio and your Mac.

Connect with a Mac

6. Use Actual Microservices

By default eshop multiplatform client uses the internal mock services to let the user explore different sets of features in the app.

But if you want to test out the app using the real services you can do that too.

For that you'll need to do the following:

  1. Deploy the backend services of eShop applications from the eShopOnContainers repo. You can deploy the application to either Local Kubernetes or AKS environments.

  2. Enable microservies endpoint in the Settings section.

Microservices Endpoint Enable

Microservices Endpoint Configure

Identity Url : http://<YOUR_IP_OR_DNS_NAME>/identity Mobile Gateway Shopping Url: http://<YOUR_IP_OR_DNS_NAME>/mobileshoppingapi

  1. Enable HTTP traffic.

Android App

You'll also need to include the <YOUR_IP_OR_DNS_NAME> in the section <domain includeSubdomains="true"><YOUR_IP_OR_DNS_NAME></domain> of the network_security_config.xml file to use HTTP traffic.

For more details refer to Managing HTTP & Cleartext Traffic on Android with Network Security Configuration

IOS App

You'll need to make sure your info.plist file contains following configuration.

  <key>NSAppTransportSecurity</key>
  <dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
  </dict>

For more details refer to Opting-Out of ATS

NOTE: Please note, in production scenario you'll the services which uses HTTPS endpoint.

Screenshots

Login

Login

Catalog

Profile

Order details

Clean and Rebuild

If you see build issues when pulling updates from the repo, try cleaning and rebuilding the solution.

Troubleshooting

Licenses

This project uses some third-party assets with a license that requires attribution:

Copyright and license

  • Code and documentation copyright 2022 Microsoft Corp. Code released under the MIT license.



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap