Skip to content
This repository has been archived by the owner on Jun 11, 2024. It is now read-only.

Releases: UXDivers/Gorilla-Player-Support

Gorilla Player 1.5.5.0

21 Nov 19:41
20d9c3e
Compare
Choose a tag to compare

Gorilla Player 1.5.4.0

30 Oct 18:02
20d9c3e
Compare
Choose a tag to compare

Fixed issue with Xamarin Forms 4.3.0.908675

Gorilla Player 1.5.3.0

13 Aug 19:47
20d9c3e
Compare
Choose a tag to compare

This version supports the latest version of Visual Studio for Mac.

Gorilla Player 1.5.2.0

13 May 12:23
20d9c3e
Compare
Choose a tag to compare

This release adds support for Visual Studio 2019 for Windows and Mac.

Gorilla Player 1.5.0.0

07 Nov 21:57
Compare
Choose a tag to compare

Overview

This release is focused on three main things:

  1. Making easier to work with Gorilla by introducing the AutoConfig feature and adding some design time data helpers.
  2. Expanding Xamarin Forms feature support (CSS, Resource Dictionaries)
  3. Bug fixing

Very Important: The Gorilla Player mobile app available in stores was removed in this release. It caused much confusion about its usage.
Originally was conceived as a basic XAML previewer, something that is much better done nowadays by Visual Studio previewer, so it doesn't make sense to maintain it anymore. For real life scenarios (i.e.: Derived pages, custom renderers, localization, etc.) please use Gorilla SDK. In this release we added the Gorilla SDK AutoConfig which greatly simplifies using it.

Features

Auto Config (BETA)

Manually Configuring Gorilla SDK can be challenging, so we created the SDK auto configuration feature with easiness of use in mind.

You can start using it through a new nuget package:

UXDivers.GorillaPlayer.SDK.AutConfig

Using this package setting up Gorilla is as easy as:

  1. Adding the package to your platform specific project
  2. Define the GORILLA symbol in your project configuration

The animated gif below shows how it works, by setting up Gorilla to preview the Conference Vision app created by David Ortinau for the Build 2018 Conference.

Conference Vision App

And here are the steps you must follow:

  1. Clone the Conference Vision repo
  2. Add Gorilla nuget package UXDivers.Gorilla.SDK.AutoConfig to the ConferenceVision.iOS project
  3. Add GORILLA as an additional symbol to the Debug configuration, so the app starts in Preview Mode
  4. (Optional) Add two files to the ConferenceVision project:
  1. Run the app, connect to the server and start previewing.

Note: This package is still in Beta, so make sure to enable pre-release nugets to see this package available!

The original Gorilla SDK nuget package can still be used for scenarios where further customization is required.
For more information about check configuring Gorilla SDK on Gorilla's wiki.

CSS Stylesheets

Added support for CSS stylesheets. Stylesheets can be inline or referenced using the <StyleSheet Source=...> tag.
The following gif illustrates this.

Little Things Playground

Resource Dictionaries

Added support for ResourceDictionary Source property and added support for implicit Resource Dictionaries.

Object references within Design Time Data

Now any JSON object defined within the DesignTimeData.json can be referenced in multiple locations of the same file. This avoid the need to duplicate data to be used in different pages of an application.

Referencing an object implies:

  • Defining an identifier to the referenced object. This is done by adding a field $id to the object whose value is the identifier. The identifier must be a string.
  • Referencing the object by creating an object whose only attribute is $ref and its value is the identifier of the object being referenced.

This is done in the same way JSON.NET handle object references by default.

The following illustrates its usage.

{
  "AchievementsView.xaml": {
    "Achievements": [
      {
        "$id": "1",
        "Name": "Xamarin",
        "Icon": "iconXamarin",
        "Url": "https://docs.microsoft.com/en-us/xamarin/xamarin-forms/"
      },
      {
        "$id": "2",
        "Name": "Xamarin University",
        "Icon": "iconXamarinUniversity",
        "Url": "https://university.xamarin.com"
      },

      .....
    ]
  },

  "AchievementItemTemplate.xaml": { 
    "$ref": "1" 
  }
}

Loading Data from file

The value of a field in the DesignTimeData.json can be set to be loaded from a different file. This is useful when loading big text files or in order to split JSON files.

Here's the way you must specify it:

$file$<FIELD_NAME>#<PATH_TO_FILE>

Fields that need to be loaded from a file should start with $file$, followed by the name of the field (MarkdownContent in below's sample), followed by # and followed by the path to the file.

Bellow is an example showing how to load a markdown file into a field named MarkdownContent.

{
  "HomeworkView.xaml": {
    "$file$MarkdownContent#./Resources/Activity_StartHere.md": null 
  }
}

The path could be absolute or relative. The value of the field is the default value in case the file is not found. If the file is a json file it will be parsed as json, otherwise it will be parsed as text.

Custom Navigation Page

Until now, Gorilla only allows to specify which pages should be previewed within a NavigationPage. This uses the default NavigationPage class to wrap the page.

Starting from now it is also possible to specify which class should be used to wrap the page. Typically a subclass of NavigationPage.

This can be done using the navigationPageClass within the navigationPage property of the gorilla.json.

The following example illustrates this:

    "navigationPage": {
        "all": false, 
        "include": [
          {
            "file": "ArticlesClassicViewPage.xaml",
            "navigationPageClass": "UXDivers.Grial.Templates.MessagesNavigationPage, UXDivers.Grial.Templates" 
          },
          {
            "file": "ArticlesFeedPage.xaml",
            "navigationPageClass": "UXDivers.Grial.Templates.EcommerceNavigationPage, UXDivers.Grial.Templates"
          },
          {
            "file": "ArticlesListPage.xaml",
            "navigationPageClass": "UXDivers.Grial.Templates.MoviesNavigationPage, UXDivers.Grial.Templates"
          }
        ],
    ...

The navigationPageClass settings are taken into account even if the navigationPage.all property is set to true.

The navigationPageClass must be specified using the full qualified name of the class. If the assembly is not specified, it will not be able to find it at runtime.

You can also specify the default navigation page class to be used using defaultNavigationPageClass as in the following example:

    "navigationPage": {
      "defaultNavigationPageClass": "UXDivers.Grial.Templates.EcommerceNavigationPage, UXDivers.Grial.Templates",
        "all": true, 
        ...

Bug Fixes

GitHub Description
N/A Fixed order issue while resolving Merged Dictionaries
N/A Consider StyleClass when merging dictionaries
N/A Set english as the default culture when multiple cultures are defined and the current one can't be determined
N/A Fixed Gorilla's UI issues in iPhoneX.
N/A Fixed issues with static resourced within ContentView included in the AvoidExpansion list of Gorilla.json.
N/A Removed limitation of having only one image property per Tag. Now there could be up to 5 images per tag.
#303 Fixed issue causing Error resolving assemblies for modernhttpclient
N/A Fixed issue of DynamicResources being reported as missing when they are not defined.
N/A Fixed issues of Control Templates not being correctly previewed.
N/A Fixed issue of Images used as properties of a Control Template not being correctly previewed.
N/A Fixed issue when added/removed files are not being correctly detected in .NET Standard project.
N/A Improve performance while opening the solution.
N/A Fixed issues with converters returning ImageSource objects.
N/A Fixed errors occurring when the XAML contains nested DataTemplates.
N/A Correctly handle xml-namespaces declared with the using keyword.

Gorilla Player 1.2.2.0

25 Jun 17:12
Compare
Choose a tag to compare

This release focuses on adding support for merged dictionaries from Xamarin Forms 2.5+ and also in supporting Xamarin Forms 3.0+.

Gorilla Player 1.2.0.6!

06 Mar 21:27
Compare
Choose a tag to compare

Overview

This release is mainly focused on fixing some issues with .NET Standard projects and adding small features.

Bug Fixes

  • Fixed exception Uncaught Exception: Attribute without value while registering a new solution with Gorilla.
  • Fixed exception Arguments to path.join must be strings while registering a new solution with Gorilla.
  • Fixed exception Error resolving assemblies for package XXXX (ENOTDIR, not a directory 'XXXXXXXXX.zip'). while registering a new solution with Gorilla.

Avoid Content Views Expansion

Previously in Gorilla all content views found were expanded by default, i.e. the content view XAML was included in the end preview without instantiating the actual class. This expansion process have some limitations, for example ContentView parameters that require some code behind code to be executed will not work properly. In this version we allow to specify which XAML files should not be expanded, or to said in other words treated them as a black box. Instead of expanding them they will be directly instantiated. This is specified in the Gorilla.json. This is an example saying Badge.xaml should not be expanded.

{
	"localization": { ... },

	"navigationPage": { ... }
	"xaml": {
		"avoidExpansion" : ["Badge.xaml"]
	}
} 

In order for this to happen the assembly where the XAML file is located should be among the known assemblies (which is usually the case when working with Gorilla SDK). If the assembly is not among the known assemblies the ContentView will be expanded anyways.

NOTE: Please note that if the ContentView is not expanded, any changes made in the content view will not be seen until Gorilla Player SDK is redeployed again.

Gorilla Player 1.2!

27 Dec 12:58
Compare
Choose a tag to compare

Overview

This release added support for .NET Standard projects.

Bug Fixes

Dependencies Changes

Upgraded dependencies for UXDivers.GorillaPlayer.SDK

  • EngineIoClientDotNet upgraded to version 1.0.3
  • SocketIoClientDotNet upgraded to version 1.0.3
  • WebSocket4Net upgraded to version 0.15.1
  • Newtonsoft.Json upgraded to version 9.0.1

Upgraded dependencies for Gorilla Player app

  • Xamarin.Forms upgraded to version 2.5.0.121934
  • EngineIoClientDotNet upgraded to version 1.0.3
  • SocketIoClientDotNet upgraded to version 1.0.3
  • WebSocket4Net upgraded to version 0.15.1

Removed dependencies

Dependencies to XLabs components have been removed from the Player app.

XLabs components have been deprecated for a while now and after upgrading to the last Xamarin Forms version many warnings started to be reported in Android.

Gorilla 1.1.0.4 with support for Localization!

05 Oct 23:16
Compare
Choose a tag to compare

Overview

We are glad to announce the release of Gorilla Player 1.1.0.4.
This release includes several improvements, features and bug fixes.

Most of the effort was in the following areas:

  • Support RESX files preview from XAML!
    • This is particularly amazing when working with multilingual Xamarin Forms Apps!
    • Gorilla allows previewing both languages and regions, so if your project is localized you will be able to preview any of the available files.
      • RESX Files preview
    • We have made very easy to preview not only application resources but also sample data, i.e. following the same convention used by RESX files you can localized DesignTimeData.json files, like DesignTimeData.ar.json for Arabic sample data.
  • Switch language within UI previewed
    • This allows previewing directly from the view you are currently previewing in Gorilla
      • Optimized workflow
    • On iOS
      • this is available through long press
    • On Android
      • this is available through long press
      • this is available through menu button and volume buttons
    • In both cases you will be able to select from a list all your RESX apps available for your App.
  • Now Gorilla allows to customize how is instantiated the NavigationPage within a page to be previewed

Bug fixes

  • Fixed issues related to NavigationPage rendering.

Nuget Packages

UXDivers.GorillaPlayer.SDK version 1.1.0.4.

Enjoy!

Gorilla 1.0 released!

14 Jul 13:13
Compare
Choose a tag to compare

Release Notes - Gorilla Player 1.0

We are glad to announce the release of Gorilla Player 1.0. This release includes several improvements, features and bug fixes.

Most of the effort was in the following areas:

  • Usability and documentation.
    • The goal was to help our users in the process of knowing the big guy. We do this by providing more guidance within the tool and better documentation explaining how to use the tool.
  • Support for Images.
    • Improve image support by providing features like clear image cache, error images, image on buttons/tabs, etc
  • Sample Data.
    • Added support for global sample data and automatic sample data generation.
  • Connectivity.
  • Improved in discoverability and troubleshooting.
  • Support for Visual Studio 2017 and Visual Studio for Mac

Breaking Changes

SDK Setup in Android

The signature of the UXDivers.Gorilla.Droid.Player.CreateApplication method used in the setup of the SDK has changed.

Now, instead of the ApplicationContext it receives an Activity as its first parameter.

Previously the SDK in Android was initialized with something like:

LoadApplication (
  UXDivers.Gorilla.Droid.Player.CreateApplication(
      ApplicationContext, 
      new UXDivers.Gorilla.Config("Good Gorilla")      
          .RegisterAssemblyFromType<CircleImage>())
);

Now you should do:

LoadApplication (
  UXDivers.Gorilla.Droid.Player.CreateApplication(
      
      this, 
      
      new UXDivers.Gorilla.Config("Good Gorilla")      
          .RegisterAssemblyFromType<CircleImage>())
);

Nuget Packages

Until version 0.9.1.2 Gorilla SDK was devided in 2 nuget packages,
UXDivers.GorillaPlayer.SDK and UXDivers.GorillaPlayer.Common.

Starting with Gorilla 1.0 UXDivers.GorillaPlayer.Common was merged into UXDivers.GorillaPlayer.SDK.

If you have Gorilla SDK installed in your solution and you are updating it, you will need to manually remove UXDivers.GorillaPlayer.Common after upgrading the UXDivers.GorillaPlayer.SDK.

See the complete list of release notes and features on UXDivers blog.

Enjoy!