{"id":39186,"date":"2019-07-03T15:00:30","date_gmt":"2019-07-03T20:00:30","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/appcenter\/?p=39186"},"modified":"2019-07-03T17:47:33","modified_gmt":"2019-07-03T22:47:33","slug":"introducing-visual-studio-app-center-data-looking-ahead","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/appcenter\/introducing-visual-studio-app-center-data-looking-ahead\/","title":{"rendered":"Exploring the Visual Studio App Center Data Roadmap"},"content":{"rendered":"<p>At Build 2019, we released <a href=\"https:\/\/www.youtube.com\/watch?v=k3G0XoY8XII&amp;t=626s\"><strong>App Center Data<\/strong><\/a> in public preview after starting development earlier this year. The App Center Data service enables you to easily scale, persist, and sync your data in the cloud for your mobile applications. App Center Data takes the work out of managing your data across different devices and platforms. Segmenting your data and associating it with a user\u2019s identity can be easily done in a few steps. You can easily curate an offline experience in your app, performing both offline reads and writes with our easy-to-use modular App Center client SDKs.<\/p>\n<p>App Center Data combines the mobile focus and \u201cmagic\u201d of App Center with the scalability and power of Microsoft\u2019s NoSQL database service known as <a href=\"https:\/\/www.googleadservices.com\/pagead\/aclk?sa=L&amp;ai=DChcSEwjqkNis5JTjAhVcHq0GHYvrA7UYABAAGgJwdg&amp;ohost=www.google.com&amp;cid=CAESQOD2IQCsDVQGRPJDjgm3byCQpsSlKNsrqJtP999Ii39KB4v73fEAgJjkeUJ4Dub8ocOGCMmibayGn-ndJgZ8hw8&amp;sig=AOD64_26FOMnvw9An1QRi-4sB9TU_C7xtQ&amp;q=&amp;ved=2ahUKEwjbms-s5JTjAhXB5J8KHUoIAMMQ0Qx6BAgPEAE&amp;adurl=\">Cosmo<\/a><a href=\"https:\/\/www.googleadservices.com\/pagead\/aclk?sa=L&amp;ai=DChcSEwjqkNis5JTjAhVcHq0GHYvrA7UYABAAGgJwdg&amp;ohost=www.google.com&amp;cid=CAESQOD2IQCsDVQGRPJDjgm3byCQpsSlKNsrqJtP999Ii39KB4v73fEAgJjkeUJ4Dub8ocOGCMmibayGn-ndJgZ8hw8&amp;sig=AOD64_26FOMnvw9An1QRi-4sB9TU_C7xtQ&amp;q=&amp;ved=2ahUKEwjbms-s5JTjAhXB5J8KHUoIAMMQ0Qx6BAgPEAE&amp;adurl=\">s <\/a><a href=\"https:\/\/www.googleadservices.com\/pagead\/aclk?sa=L&amp;ai=DChcSEwjqkNis5JTjAhVcHq0GHYvrA7UYABAAGgJwdg&amp;ohost=www.google.com&amp;cid=CAESQOD2IQCsDVQGRPJDjgm3byCQpsSlKNsrqJtP999Ii39KB4v73fEAgJjkeUJ4Dub8ocOGCMmibayGn-ndJgZ8hw8&amp;sig=AOD64_26FOMnvw9An1QRi-4sB9TU_C7xtQ&amp;q=&amp;ved=2ahUKEwjbms-s5JTjAhXB5J8KHUoIAMMQ0Qx6BAgPEAE&amp;adurl=\">DB<\/a>. You can completely control your data with the confidence it will always be available.<\/p>\n<h4><strong>How it All Works<\/strong><\/h4>\n<p>The App Center Data service includes both a portal experience and client SDKs, which empowers you to take control of your data and sync it in the cloud.<\/p>\n<p>Using the App Center portal, you can easily provision a new, or connect and existing, Cosmo DB database with just a few steps. Our portal wizard simplifies the process of creating a Cosmos DB database and enables you to get started with just a few quick steps.<\/p>\n<p>Our client SDKs are where most of the magic happens. Using the client SDKs, you can create, read, update, delete, and list, with pagination, your documents. We give you complete control over both your public and user data using the SDKs. Our SDK supports offline reads and writes on your data, which allows you to create highly responsive and available applications. You can even tie your data to a user\u2019s identity using App Center Auth in tandem with App Center Data, which makes managing data on a user-level extremely easy. Whether you\u2019re trying to manage global configuration settings in your app, tie content to your users, or curate an offline experience in your app, it\u2019s all possible using the App Center Data SDKs.<\/p>\n<p>Using the SDK is simple. You define a model, instantiate it, and create a document. From there, you can read, update, or delete the document.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-39187 size-large\" src=\"https:\/\/devblogs.microsoft.com\/appcenter\/wp-content\/uploads\/sites\/3\/2019\/07\/word-image-1024x543.png\" alt=\"\" width=\"640\" height=\"339\" srcset=\"https:\/\/devblogs.microsoft.com\/appcenter\/wp-content\/uploads\/sites\/3\/2019\/07\/word-image-1024x543.png 1024w, https:\/\/devblogs.microsoft.com\/appcenter\/wp-content\/uploads\/sites\/3\/2019\/07\/word-image-300x159.png 300w, https:\/\/devblogs.microsoft.com\/appcenter\/wp-content\/uploads\/sites\/3\/2019\/07\/word-image-768x408.png 768w, https:\/\/devblogs.microsoft.com\/appcenter\/wp-content\/uploads\/sites\/3\/2019\/07\/word-image.png 1594w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/p>\n<p>We currently support Android, iOS, and Xamarin. We\u2019re currently working on React Native and have started investigating potential .NET and Unity support as well. If there\u2019s a platform you would like to see us support, shoot us a feature request on the <a href=\"https:\/\/github.com\/microsoft\/appcenter\">App Center Repo<\/a>.<\/p>\n<h4><strong>Looking Ahead <\/strong><\/h4>\n<p>As mentioned earlier, we are in public preview and have several great features on our roadmap, which we\u2019re planning on implementing before GA. One huge addition coming soon to our SDK is offline list functionality, which gives offline persistence to the list command. This will bring offline persistence to all API calls in our SDK. I\u2019ll be detailing the additional items in this post as well. We have many exciting changes afoot in App Center Data.<\/p>\n<p>Currently our <a href=\"https:\/\/github.com\/microsoft\/appcenter\/wiki\/Roadmap\">roadmap<\/a> has a few items I would like to outline in this post:<\/p>\n<p>1. Offline List Support<\/p>\n<p>Today, we support offline persistence with document creation, reading, updating, and deletion. We\u2019re bringing this functionality to our list command as well, which will enable you to have offline persistence when fetching a list of documents. If connectivity is lost, your list will be stored locally on the client for offline reads.<\/p>\n<p>2. Metrics Explorer<\/p>\n<p>Monitor your data. The Metrics explorer is an in-portal dashboard that gives you various metrics associated with your data such as write latency, ready latency, traffic, and pricing data.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-39188 size-large\" src=\"https:\/\/devblogs.microsoft.com\/appcenter\/wp-content\/uploads\/sites\/3\/2019\/07\/a-screenshot-of-a-cell-phone-description-automati-1024x668.png\" alt=\"A screenshot of a cell phone Description automatically generated\" width=\"640\" height=\"418\" srcset=\"https:\/\/devblogs.microsoft.com\/appcenter\/wp-content\/uploads\/sites\/3\/2019\/07\/a-screenshot-of-a-cell-phone-description-automati-1024x668.png 1024w, https:\/\/devblogs.microsoft.com\/appcenter\/wp-content\/uploads\/sites\/3\/2019\/07\/a-screenshot-of-a-cell-phone-description-automati-300x196.png 300w, https:\/\/devblogs.microsoft.com\/appcenter\/wp-content\/uploads\/sites\/3\/2019\/07\/a-screenshot-of-a-cell-phone-description-automati-768x501.png 768w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/p>\n<p>3. Bring Your Own Identity<\/p>\n<p>Identity can be tied to users via App Center Auth, which is how you utilize the user document functionality. Currently, we only support <a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/active-directory-b2c\/\">Azure Active Directory B2C<\/a>. We\u2019re working on introducing Bring your own Identity functionality. This will enable developers to connect and use other popular identity and access management providers such as Auth0, Firebase Authentication, Ping Identity, and Azure Active Directory with App Center Auth and Data.<\/p>\n<p>4. Data Explorer<\/p>\n<p>View, update, and query your data directly in the App Center portal. The Data explorer gives you CRUD access over public documents and user documents.<\/p>\n<p>5. Free Tier<\/p>\n<p>We\u2019re working on introducing a free tier that will enable you to use App Center Data without worrying about cost. Currently, our \u201cGetting Started\u201d tier today starts at about $23 USD\/month. We would like to eliminate the up-front cost for users who would like to try App Center Data.<\/p>\n<p>6. Shared Documents<\/p>\n<p>Today we only have two types of documents: Public documents, which are read-only by all users, and User documents, which are read-write by an authenticated user. Shared Documents would enable different authenticated users or groups to write to the same document.<\/p>\n<p>7. SDK Improvements<\/p>\n<p>We have several improvements planned for our SDK, such enhancing our conflict resolution, implementing subscriptions &amp; listeners, real-time updates, and query support.<\/p>\n<h4>Next Steps<\/h4>\n<p>One of the biggest goals the App Center team has in our public preview is to get feedback. Managing your data is often looked at as a black box, where the scenarios to account for are endless. The App Center team aims to fix that with our Data service. We know that some scenarios are more important than others and we need your help! We want to ensure we\u2019re solving the real problems you have every day in your development life cycle. Our <a href=\"https:\/\/github.com\/microsoft\/appcenter\/wiki\/Roadmap\">roadmap<\/a> is completely public, and we encourage developers to post feature requests, feedback, or any bugs you may come across. Even if there\u2019s something on our roadmap that you want to see done, let us know! This helps us prioritize the existing items we plan on executing.<\/p>\n<p>One important thing to note is that our roadmap isn\u2019t fixed. We aim to be transparent with our planning and want you to help us shape the work we do. We triage and investigate every single feature request we get in the <a href=\"https:\/\/github.com\/microsoft\/appcenter\">App Center repo<\/a>. Given enough interest, we do our best to get it prioritized. We want to empower you to help us fill the gaps and create an experience that you love.<\/p>\n<p>Getting Started is easy. Head over to <a href=\"https:\/\/appcenter.ms\">App Center<\/a>. If you\u2019re not a current App Center user, signing up and getting everything up and running doesn\u2019t take much time. We look forward to hearing from you!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>App Center Data combines the mobile focus and \u201cmagic\u201d of App Center with the scalability and power of Microsoft\u2019s NoSQL database service known as Cosmos DB. You can completely control your data with the confidence it will always be available.<\/p>\n","protected":false},"author":47,"featured_media":39188,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[16],"tags":[],"class_list":["post-39186","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mobiledev"],"acf":[],"blog_post_summary":"<p>App Center Data combines the mobile focus and \u201cmagic\u201d of App Center with the scalability and power of Microsoft\u2019s NoSQL database service known as Cosmos DB. You can completely control your data with the confidence it will always be available.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/appcenter\/wp-json\/wp\/v2\/posts\/39186","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/appcenter\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/appcenter\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/appcenter\/wp-json\/wp\/v2\/users\/47"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/appcenter\/wp-json\/wp\/v2\/comments?post=39186"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/appcenter\/wp-json\/wp\/v2\/posts\/39186\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/appcenter\/wp-json\/wp\/v2\/media\/39188"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/appcenter\/wp-json\/wp\/v2\/media?parent=39186"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/appcenter\/wp-json\/wp\/v2\/categories?post=39186"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/appcenter\/wp-json\/wp\/v2\/tags?post=39186"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}