Elmish.XamarinForms/DEVGUIDE.md

1.5 KiB

Dev Notes

Dev Notes - Building

    .\build NuGet

    .\build Test

Dev Notes - Releasing

Use this:

.\build NuGet
set APIKEY=...
.nuget\NuGet.exe push C:\GitHub\dsyme\Elmish.XamarinForms\build_output\Elmish.XamarinForms.*.nupkg  %APIKEY% -Source https://www.nuget.org
copy C:\GitHub\dsyme\Elmish.XamarinForms\build_output\Elmish.XamarinForms.*.nupkg  %USERPROFILE%\Downloads

Dev Notes - Checking App Size

It is worth occasionally checking that unused code is trimmed from the Android and iOS app packagings by the Mono linker. There is one known issue with this.

App size on Android is checked by

  1. build + deploying Samples\CounterApp (to device or emulator)

  2. renaming and unziping Samples\CounterApp\Droid\bin\Release\com.companyname.CounterApp.apk

  3. checking sizes and contents of

    Samples\CounterApp\Droid\bin\Release\com.donsyme.AllControls\assemblies\FSharp.Core.dll
    Samples\CounterApp\Droid\bin\Release\com.donsyme.AllControls\assemblies\Elmish.XamarinForms.dll
    

    e.g. see this comment

Smallest app size is produced by

  • "Generate one package per ABI"
  • "Enable ProGuard"
  • "Linking: Sdk and User assemblies"
  • Disable debug instrumentation

app size

Also check the app actually runs with these settings.