This is 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. It will use the awesome German Dr. Windows as data source for its articles.
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.
Service | Status |
---|---|
AppCenter | |
Azure DevOps | |
Sonar Cloud |
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.
- 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
- Improve feature and code quality
- Write tests
- Leverage CI with tests and test deployment
- Personal Blog: [Projekt] #rTsd – Road to Surface Duo
- Dr. Windows: #rTsd – Road to Surface Duo, das Entwicklertagebuch: Teil 1
- Dr. Windows: #rTsd – Road to Surface Duo, das Entwicklertagebuch: Teil 2
- Dr. Windows: #rTsd – Road to Surface Duo, das Entwicklertagebuch: Teil 3
- Dr. Windows: #rTsd – Road to Surface Duo, das Entwicklertagebuch: Teil 4
- Dr. Windows: #rTsd – Road to Surface Duo, das Entwicklertagebuch: Teil 4
- Windows 10 / macOS
- Visual Studio 2019 (for Mac)
- Installed Xamarin Visual Studio plugins
- 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
- 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
- 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
- Detail article view
- Share functionality
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.
All shown screenshots are taken with version 20191217.
I used the free, but required an Adobe ID, application Adobe XD to create the protoyp views.
- Using the
Page.Navigation(...)
feature instead of the new url-basedShell.GoToAsync(...)
- Using the native asset management instead of the embedded images one. The not successful feature implementation can be found via:
deadend/embedded-images
This app is purely build for having fun! All features have room for improvements or could be done more elegant.
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.
- Open an issue and describing your idea or bug finding
- Fork repository
- Fix bug / add enhancement in well named feature branch with issue number (e.g.
user.name/2-added-app-icon
) - Add the issue number to your commit message (e.g.
#2 Added new app icon
) - Create pull request (PR) from your feature branch to this
master
branch - Please keep in touch with your PR to answer upcoming questions
- If your PR got merged, check if you are listed in the "Authors" section of the readme
Just me, Tobi.
- Dr. Windows German Microsoft blog
- Xamarin Homepage
This project is licensed under the MIT License - see the LICENSE file for details. Dependencies or assets maybe licensed differently.