Project Rome is Microsoft's cross-device experiences platform for apps.
On this site you will find developer documentation for Project Rome and links to other useful resources.
For news, blog posts, and videos about Project Rome, visit the Project Rome landing page.
For sample applications using Project Rome, check out the SDK table below, or visit the Project Rome samples repo.
About Project Rome
Project Rome allows developers to write apps that can run on multiple devices and travel with the user as they switch between devices.
Project Rome includes features exposed via Microsoft Graph and platform-specific native SDKs. These features enable multiple cross-device and connected-device capabilities, allowing your apps to be centralized around a logged-in user identity. Features associated with Project Rome include but are not limited to user activities, notifications, device relay, and nearby share.
Choosing between native APIs and Graph APIs
Some scenarios are available through both the native platform SDKs and REST APIs via Microsoft Graph. In general, the REST APIs enable quick and simple implementation of the Project Rome features. However, there are some advantages to using platform-specific implementations:
- The platform SDKs provide an object model in the native language, local storage, and a publish-subscribe pattern to update the app when server-side information changes.
- If your app runs on Windows (UWP or Win32 apps), the platform SDK provides a number of additional features, such as using the users' default account and automatically tracking user engagement.
- If you plan to use other Project Rome features that are only available through the platform SDKs, you may wish to implement each of the features in the same way.
Some other scenarios are enabled by using a combination of Microsoft Graph APIs and client SDKs. An example of this is Notifications. In this case, MS Graph API is used to publish notifications from app server side, and the native-platform client SDKs are utilized to receive and manage notifications in each client-side native apps.
Project Rome is currently implemented for the below platforms. Follow the links for samples and SDK downloads.
|Windows SDK||Device Relay, Activities/Timeline||Project Rome for Device Relay Windows sample
Project Rome for Activities Windows sample
|Windows (Preview)||Microsoft Graph Notifications||Graph Notifications for Windows sample|
|Android||Device Relay, Activities/Timeline, Microsoft Graph Notifications (Preview)||Project Rome for Android sample|
|iOS||Device Relay, Activities/Timeline, Microsoft Graph Notifications (Preview)||Project Rome for iOS sample|
|Xamarin for Android (Preview)||Device Relay||Xamarin for Android sample|
|MSGraph||Device Relay, Activities/Timeline, Microsoft Graph Notifications||Device Relay
Project Rome blog posts
Podcasts and recordings
|Feedback Hub||Contact Us|