Windows App Studio was updated July 15th with a fresh release and brought with it some great new features such as:
New YouTube player
This new release brings a brand new YouTube player. Previously the player was implemented using Youtube Mytoolkit player from
Codeplex. The new player is implemented loading the embed YouTube url (https://www.youtube.com/embed/<videoid>)
into a WebView control.
This change has been motivated by several things:
- Consistency: In WP8
the videos were displayed in a "YouTube mytoolkit" control but in Universal
the video was loaded in the native MediaElement
control: The url was obtained using YouTube.GetVideoUriAsync helper
method of myToolkit.
- Performance: In Universal
for each video result the method helper YouTube.GetVideoUriAsync was
called. This method obtains the video url through html scrapping having to
download each page.
Errors Experience: Some videos are not allowed by YouTube to be reproduced in some
devices. Even the YouTube.GetVideoUriAsync method gets a valid url the
result was an "unexpected error". With the new mechanism in case the
video couldn't be reproduced, YouTube gives a detailed error with the reason.
New MVVM Pattern
In this new release there are a
lot of improvements in the generated code for Universal Apps:
The app data state management
has been moved from ViewModels and NavigationService to AppCache class. There
are 2 cache modes:
Memory: All data are store in memory in order to use it in the
IsolatedStorage: All data is saved into the isolated storage to be
used when the app is released from memory.
Most of data loading behavior
has been moved from ViewModelBase to this new class. It acts as base class for
all specific data sources. This class manage how data is loaded: from cache or
from the specific data source. One relevant improvement is data is refreshed
from the data source only if it's content is older than 2 hours, no matter if
the app is resumed from suspension or terminated state, optimizing the battery
and data use.
The way the items that comes
from data source are added to the observable collection binded to the view has
change. Now only the items that not are already in the collection are added.
This is done by implementing the IEquatable<T>
interface in each of the specific schema classes. This approach allows to
improve the user experience on one hand and the app performance on the other.
To check out the new and improved App Studio, visit http://appstudio.windows.com
For Questions You can visit our support forum Here
To request new features, for future versions of App Studio, Visit the User Voice forum Here