Exrin | Demo Xamarin Forms MVVM Framework | Form library

 by   exrin C# Version: v2.0.0 License: MIT

kandi X-RAY | Exrin Summary

kandi X-RAY | Exrin Summary

Exrin is a C# library typically used in User Interface, Form, Xamarin applications. Exrin has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can download it from GitHub.

Exrin is an extended Xamarin Forms MVVM Framework designed to enable teams to develop consistent, reliable and highly performant mobile apps. Exrin lets you put more focus on how the app will look and function, while Exrin takes care of handling the rest.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              Exrin has a low active ecosystem.
              It has 107 star(s) with 19 fork(s). There are 23 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 0 open issues and 28 have been closed. On average issues are closed in 23 days. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of Exrin is v2.0.0

            kandi-Quality Quality

              Exrin has 0 bugs and 0 code smells.

            kandi-Security Security

              Exrin has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              Exrin code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              Exrin is licensed under the MIT License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              Exrin releases are available to install and integrate.
              Installation instructions are available. Examples and code snippets are not available.
              Exrin saves you 11 person hours of effort in developing the same functionality from scratch.
              It has 31 lines of code, 0 functions and 243 files.
              It has low code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of Exrin
            Get all kandi verified functions for this library.

            Exrin Key Features

            No Key Features are available at this moment for Exrin.

            Exrin Examples and Code Snippets

            No Code Snippets are available at this moment for Exrin.

            Community Discussions

            QUESTION

            Is it possible to navigate to a dynamic page in Exrin
            Asked 2017-Nov-13 at 00:03

            Is it possible in Exrin to push to the navigation a contentpage I create in run time and afterwards remove it from the navigation stack?

            ...

            ANSWER

            Answered 2017-Nov-13 at 00:03

            Unfortunately it isn't possible at the moment, as you have to define the type, to create the navigation mapping.

            If you wanted to look into a PR to do this, would be happy to accept this PR. It would involve creating a new method to navigate to an IView. Would also have to think about how it interacts with Stacks.

            Source https://stackoverflow.com/questions/47255215

            QUESTION

            Exrin Isolates and MasterDetailContainer
            Asked 2017-Nov-12 at 00:04

            When working with the Exrin Isolates approach you define the stacks in each Isolater. How do you combine it to work with a MasterDetailContainer? For example if I want a menu in the old approach I would create a ViewContainer and pass it a stack for the menu and another one for the pages, but with Isolates I'll have a lot of stacks. how should I build the ViewContainer or maybe should I still have only one main stack and use the Isolates only to isolate views and viewmodels?

            ...

            ANSWER

            Answered 2017-Nov-12 at 00:04

            If you need to blend the stacks, that you will place in isolates, then it would be a good idea to define all your stacks and keys in a single location.

            However, remember that isolates are designed for splitting up large chunks of code into separate modules. I would only recommend a max of 3 isolates for any given project. Using Feature Grouping, is a good way to structure you Views/ViewModels in your project, if you have a large project but not quite big enough for isolates.

            Source https://stackoverflow.com/questions/47243491

            QUESTION

            How to implement a visual busy/working indicator in Exrin?
            Asked 2017-Sep-26 at 01:03

            Context

            I am discovering step by step Exrin infrastructure. I explored that there are many ready to use infra element to implement command execution in background. Among those I see IsBusyDelay, VisualState.IsBusy, Timeout message, etc. I also know that Exrin does not depend on Xamarin.Forms, so I suppose, no real visual implementation should be provided by Exrin, that very last step remains on me. (which is cool, let me decide the UI experience)

            In my ViewModel I set IsBusyDelay = 1000;. The background task is started by Execution.ViewModelExecute(... my task here ..., currently 5000msec delay )

            Question

            I suppose now I have to implement somewhere a handler(s) or override(s) which will be called automatically, and implement some visual UX to show and hide the a busy/inprogress UX feedback. I just do not know where and how...

            ...

            ANSWER

            Answered 2017-Sep-26 at 01:03

            This is something you would implement yourself in the view. For example, if you wanted something that covered the whole screen, with a loading indicator, you would add this to your UI.

            Source https://stackoverflow.com/questions/46377951

            QUESTION

            How to set Exrin TabbedPage tab title?
            Asked 2017-Sep-22 at 03:05

            Context

            I am using the ExrinSampleMobileApp from the Exrin repository.

            Question

            How can I set the main and detail tab's title?

            I tried to set the appropriate view's title with no effect (DetaiView and MainView)

            ...

            ANSWER

            Answered 2017-Sep-22 at 03:05

            Because everything is wrapped in a NavigationPage, you need to set the Title of the NavigationPage. The easiest way to do this is via the Stack.

            When you pass through a new NavigationPage, set it's title, as shown here.

            Source https://stackoverflow.com/questions/46354343

            QUESTION

            Tabbed page as detail view of masterdetail page in Exrin
            Asked 2017-Aug-26 at 06:59

            In our app there is a master-detail container as main view container. We would like to have the tabbed page as the detail page of the master-detail container, so that the user is able to perform the navigation via both the menu and tab bar. Is there any way to achieve this with Exrin? As far as we can see, there is a support for master-detail page and for tabbed page separately. How to combine this pages together?

            ...

            ANSWER

            Answered 2017-Aug-26 at 06:59

            You will need to have Exrin 2.0.2 and higher for this to work.

            First, you need to slightly update your Container, that holds the MasterDetailPage. The interface definition is slightly changed.

            Source https://stackoverflow.com/questions/45840190

            QUESTION

            Animations with Exrin
            Asked 2017-Aug-04 at 00:30

            I'm looking to create animations with Exrin. I understand the MVVM framework aspect of it requires that the View owns the animations, but firing these animations initially is something I'm unsure of.

            I do know that attaching to UI events is a bit of a hot button issue because then commands and events might exist together.

            Does Exrin have a way of dealing with animations that isn't touched on in the documentation, should I attach animations to the UI Events, or should I go with something external like attached behaviors?

            ...

            ANSWER

            Answered 2017-Aug-04 at 00:30

            Animations are a part of Xamarin Forms, and Exrin doesn't specifically deal with them, as you noted.

            To trigger an animation, and keeping inline with an MVVM purist mentality, I would use a trigger.

            As an example, you create a trigger, with just a class

            Source https://stackoverflow.com/questions/45491631

            QUESTION

            Exrin: What to know when upgrading form 1.X to 2.0?
            Asked 2017-Jul-24 at 23:46

            I'm thinking about upgrading from Exirn 1.x to 2.0.0. I read the Exrin 2.0.0 quick start, but it doesn't mention the changes. From what I can tell from the quick start project, there was a movement away from the grouping of projects based on Framework/Views/Logic/Bootstrapper/OS Level Impletementation.

            What other changes occurred that I may need to know moving forward while upgrading?

            And is it worth changing over to the new project layout implementation? It does appear to be easier to create and manage, but I'm worried about the lack of project separation leading to poor design. Will this be a personal preference or is there a benefit to switching that manifests itself in the update?

            ...

            ANSWER

            Answered 2017-Jul-24 at 23:46

            Exrin 2.0.0, was designed to enable a quicker project setup, but certainly not to remove any of its advantages. Exrin 2.0.0 is fully backward compatible, meaning you can upgrade your existing project, and it will still run.

            I still recommend the project separation approach for larger projects. I really just wanted to create a quick start, so people can see Exrin in action, before moving it to a slightly more complicated architecture.

            The changes in this version are as follows:

            1. Added support for the Exrin Inspector
            2. Enabled in class operations. This still allows the benefits of Operation Separation, but you don't need to create a new class each time to do it. e.g.

            Source https://stackoverflow.com/questions/45286660

            QUESTION

            Proper use of operations, models, and services within Exrin
            Asked 2017-Jun-15 at 03:46

            Within Exrin, using the normal hierarchy of ViewModel having access to the IModel, The Model having access to the IService, and Operations commonly having access to the IModel yet being called from the ViewModel, what is the proper use of methods and interactions within each scope?

            For example, I need to clear a table in my SQLite database on navigating to a page. I have an IRepositoryService that contains all my methods for interacting with our database. My Model has a ClearUserInputTables method that calls a few different methods within the IRepositoryService.

            I could either override the OnAppearing method (may likely change it to a different point in the life cycle) within the ViewModel to call the Model.ClearUserInputTables method or I could create an Operation that has access to the Model to do the same thing. Which is favored in Exrin?

            Maybe I need a better understanding of the purpose of Operations. I read up on Operation Separation (basically used for navigation), but am unsure if it should be used for other things such as this (calling Model methods from the ViewModel).

            ...

            ANSWER

            Answered 2017-Jun-14 at 02:17

            Operation's are designed to take code outside of the ViewModel, so it can

            1. Easily be Unit Tested (also due to return of IResult)
            2. Timeout Logic Added
            3. Pushes to background thread
            4. Catches exceptions
            5. Ensures only 1 operation runs at a time. (e.g. stops rapid click's of button firing off the operation multiple times before the last one has finished)

            Operation's however are completely optional. You don't have to use them.

            If you want to clear a table when you navigate to a page, I could recommend

            Source https://stackoverflow.com/questions/44528881

            QUESTION

            Exrin: Database Models, Services, and MainModels
            Asked 2017-Jun-07 at 01:18

            From an Exrin design standpoint, should each database model have their own Service?

            I find that I may need to check the same thing within the database in multiple MainModels. I figured I would create a Service for these database models to do these repeated operations and have the a service for a MainModel not only implement its own IService interface but also inherit from these database model services.

            ...

            ANSWER

            Answered 2017-Jun-07 at 01:18

            Each Database should have it's own repository class, but the service can cover many repositories.

            I like to think of Services as an Aggregate Repository Layer, where you provide control logic on how the app interacts with the repositories.

            If the repositories are extremely large, or it makes no sense to put them together in the same service, then by all means, split them.

            However as an example, say I have a Database and an API repository. I have one service, that will retrieve data from the API or repository depending on what I am getting, and provide the information back to the app.

            The premise here, is to ensure that the App doesn't concern itself with how it gets the information. The service layer is an abstraction layer on top of the repositories.

            Source https://stackoverflow.com/questions/44396061

            QUESTION

            Exrin: How to setup two way binding between VisualState and ModelState
            Asked 2017-Jun-07 at 01:09

            How is the binding between ModelState and VisualState changed from one way to two way?

            In the Exrin introduction on YouTube and in this SO answer, it is stated that there is a binding between the ModelState and the VisualState (specifically ModelState -> VisualState). It is also stated that the binding can be changed from one way to two way.

            I did some looking around and did find a BindingType enum with the values being OneWay and TwoWay, but I was unable to find where to utilize these.

            ...

            ANSWER

            Answered 2017-Jun-07 at 01:07

            In the VisualState you can add this attribute to any property.

            Source https://stackoverflow.com/questions/44401863

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install Exrin

            Quick Sample - A very basic quick start sample. Tesla App - Shows more advanced usage of Exrin with TabbedPages and MasterDetailPage. Exrin Providers - An intermediate example of Exrin. Exrin Template - Jump start your Exrin App with the template. Introduction to Exrin - A walkthrough on how the template is setup and how Exrin is designed to work.

            Support

            Is this another MVVM Framework? Yes and no. It contains all the MVVM helpers you would need however you can use another MVVM framework with Exrin if you choose. What IoC does it use? None, you use your own IoC and DI Framework when configuring your app. After using a few on different projects, I prefer AutoFac. Does Exrin have any dependencies? No. That was a critical design point. Exrin does not depend on anything. Having a package that locks you into another package version has become increasing frustrating and Exrin will not be a part of that. Why this framework? It's not going to be for everyone. It is opinionated and requires a bit of effort in project setup. The benefits however include consistency and easy testability for your mobile app. The benefits are greatly enhanced if 2 or more developers are on the project.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/exrin/Exrin.git

          • CLI

            gh repo clone exrin/Exrin

          • sshUrl

            git@github.com:exrin/Exrin.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link