All Projects → tscholze → xamarin-road-to-surface-duo

tscholze / xamarin-road-to-surface-duo

Licence: MIT License
#rTsd - This ia a work in progress Xamarin.Forms Android project which is intended to feature most of the new features that makes the upcoming Microsoft Surface Duo phone unique.

Programming Languages

C#
18002 projects
HTML
75241 projects

Projects that are alternatives of or similar to xamarin-road-to-surface-duo

codewriting
Source for Codewriting (book) and the Codewriting/Code the Docs (site/blog)
Stars: ✭ 49 (+308.33%)
Mutual labels:  learning-by-doing
react-tailwind-food-app
A responsive landing page for food delivery app made with React & Tailwind CSS.
Stars: ✭ 32 (+166.67%)
Mutual labels:  learning-by-doing
been-pwned
App that leverages the haveibeenpwned.com API by Troy Hunt. This app is available in the App Stores and is used in several of my talks as well as my book Xamarin.Forms Essentials.
Stars: ✭ 19 (+58.33%)
Mutual labels:  xamarin-forms
ButtonCirclePlugin
Circle Buttons with icon for your Xamarin.Forms Applications
Stars: ✭ 96 (+700%)
Mutual labels:  xamarin-forms
Mutatio
Visual Studio for Mac add-in/extension for converting old PCLs to .NET Standard 2.0 targeting projects automatically.
Stars: ✭ 27 (+125%)
Mutual labels:  xamarin-forms
CreditCardCheckout
Credit Card Checkout - A Xamarin.Forms UI Challenge
Stars: ✭ 69 (+475%)
Mutual labels:  xamarin-forms
Forms9Patch
Simplify image management and text formatting in your Xamarin.Forms apps
Stars: ✭ 130 (+983.33%)
Mutual labels:  xamarin-forms
XamFormsVMNav
Xamarin Forms ViewModel First Navigation
Stars: ✭ 22 (+83.33%)
Mutual labels:  xamarin-forms
Rox.Video.Xamarin
Rox Video Control for Xamarin.Forms
Stars: ✭ 17 (+41.67%)
Mutual labels:  xamarin-forms
Xampane
Xamarin Forms Layouts Library
Stars: ✭ 29 (+141.67%)
Mutual labels:  xamarin-forms
codemill.vmfirstnav
Xamarin.Forms ViewModel First Navigation Library
Stars: ✭ 22 (+83.33%)
Mutual labels:  xamarin-forms
FicusUIChallenge
Xamarin.Forms UI Challenge Ficus IoT App
Stars: ✭ 38 (+216.67%)
Mutual labels:  xamarin-forms
MyStreamTimer
A cool app to count up or down that writes text to file for streamers
Stars: ✭ 87 (+625%)
Mutual labels:  xamarin-forms
Xamarin-ToDoApp
Todo App is a simple to do app developed with Xamarin
Stars: ✭ 74 (+516.67%)
Mutual labels:  xamarin-forms
arcgis-runtime-demos-dotnet
Demo applications provided by the ArcGIS Runtime SDK for .NET Team
Stars: ✭ 51 (+325%)
Mutual labels:  xamarin-forms
CouchDraw
A synchronized drawing app that utilizes Couchbase Sync Gateway and Xamarin to enable shared canvases.
Stars: ✭ 22 (+83.33%)
Mutual labels:  xamarin-forms
QRManager
This is an example that uses ZXing.Net.Mobile for Forms. See more information here:
Stars: ✭ 19 (+58.33%)
Mutual labels:  xamarin-forms
Xamarin.Agora.Samples
Agora.io samples for Xamarin.iOS, Xamarin.Android, Xamarin.MacOS and Xamarin.Forms
Stars: ✭ 41 (+241.67%)
Mutual labels:  xamarin-forms
Idea-ReVue
Social Ideation application to manage Ideas. Developed with Vue, Firebase & Vuetify
Stars: ✭ 15 (+25%)
Mutual labels:  learning-by-doing
MyTasks
Xamarin.Forms goodlooking UI sample.
Stars: ✭ 74 (+516.67%)
Mutual labels:  xamarin-forms

#rTsd Logo

Road to Surface Duo Xamarin App (#rTsd)

This is a forever work in progress Xamarin.Forms Android project which is intended to feature most of the new features that makes the upcoming Microsoft Surface Duo phone unique. It will use the awesome German Dr. Windows as data source for its articles.

tl;dr

This is neither an offical Dr. Windows app nor anything other than a highly motivated playground to dive deep into the Xamarin.Forms ecosystem with a dedicated usecase in mind.

It will target only Android devices and it's meant to include all other aspecs of Xamarin development such as a configurared continuous integration and analytics powerd by the Azure App Center.

This project is written and owned by a beginner and meant for beginners. It would be perfect if experts could mentor the project - but this is just a mind in the clouds.

If you are looking for the siblings app that's based on the UWP ecosystem to work with the Surface Neo, please see the GitHub repository tscholze/uwp-road-to-surface-neo. This project is currently on hold due to some emulator requirements that I cannot fulfill at the ment.

Build status

Service Status
AppCenter Build status
Azure DevOps Build Status
Sonar Cloud Quality Gate Status

Releases

Service Link
AppCenter Click to download

Structure

rTsd

Xamarin.Forms container that includes all shared functionality and features.

rTsd.Android

Android wrapper and platform-specifc implementations like custom rendereres, effects or assets.

Phases

  • Finding a usecase
  • Write down a motivation (e.g. Readme)
  • Write an email to [email protected] to get soon(tm) more information
  • Concept roughly an user interface
  • Get the project (template) up and running
  • Getting into important Xamarin / C# pattern
  • Write first MVP code
  • Implement first Surface Duo related features or layouts
  • Improve feature and code quality
  • Run it on a Surface Duo emulator
  • Add user opt-in for non Dr. Windows server requests
  • Add localization (resx)
  • Write tests
  • Leverage CI with tests and deployments
  • Run it on an actual Surface Duo device
  • Add analytics

Publications

Prerequirements

Assumption

  • The Surface Duo will usw two navigation pages, master on the left screen and detail on the right, as the main indicator how to display an app on two screens -> Nope it works a little bit diffrent

Other programms I used

  • Microsoft OneNote as information storage around the idea of the app
  • Microsoft Teams to clarify open question with the Dr. Windows team
  • Visual Studio Code for all, except source code editing, writings like mark down files
  • Git Bash for Git operations outside of Visual Studio
  • Adobe XD to protoyp the UI

Features

  • Good looking, hopefully (in my opinion)
  • Utilizes Surface Duo features
  • Utilizes App Center features
  • Ticker with latest tweets of @drwindows_de
  • Lists articles of Dr. Windows
  • Lists videos of Dr. Windows Youtube Channel
  • Detail article view
  • Share functionality

UI concepts

I'm not a skilled user interface designer nor I have an eye for beauty, but the app should look mostly like the following concepts.

App screenshots

Running on a Microsoft Surface Duo

I used the free, but required an Adobe ID, application Adobe XD to create the protoyp views.

Decisions made

  • Using the Page.Navigation(...) feature instead of the new url-based Shell.GoToAsync(...)
  • Using the native asset management instead of the embedded images one. The not successful feature implementation can be found via: deadend/embedded-images
  • No more gradients - updated UI of the app to use solid colors instead of blue-ish gradients

Keep in mind

This app is purely build for having fun! All features have room for improvements or could be done more elegant. This app was and will be never meant to run in production-like environments.

Contributing

Feel free to improve the quality of the code. It would be great to learn more from experienced C#, Xamarin and Azure developers. Please use the "default" workflow of contributing to this project.

  1. Open an issue and describing your idea or bug finding
  2. Fork repository
  3. Fix bug / add enhancement in well named feature branch with issue number (e.g. user.name/2-added-app-icon)
  4. Add the issue number to your commit message (e.g. #2 Added new app icon)
  5. Create pull request (PR) from your feature branch to this master branch
  6. Please keep in touch with your PR to answer upcoming questions
  7. If your PR got merged, check if you are listed in the "Authors" section of the readme

Special thanks to

  • Martin Geuss (Dr. Windows) for letting me publish an article series on one of the largest German speaking Microsoft communities and portals Dr. Windows
  • Sven-Michael Stübe (Zuehlke) for helping me with is awesome knowledge of Xamarin
  • Tim Messerschmidt (Google), for motivating me to give Android and the Google ecosystem another chance

Authors

Just me, Tobi.

Links

License

This project is licensed under the MIT License - see the LICENSE file for details. Dependencies or assets maybe licensed differently.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].