Crossplatform Plugin architecture with MAUI - android

My goal is to create app on Android/Windows using MAUI, and as I want to be able to add to this app more functionality by plugins, I want to create some simple plugin system.
This plugins should be able to subscribe to domain events, add components (like menu items and "pages" components that will be shown in app after menu click), communicate with each other.
So, is there any way to do it cross-platform?
If it was only windows, I would just create plugins dlls, on app start up I need to load them, find every IPlugin or similar, initialize them, etc.
But where to store it on Android? How to compile/load this plugins on Android? (and in future not only Android, but iOS & Mac too)
P.S. I'm super new to MAUI stuff, and need to learn a lot, so appreciate full answers
P.P.S. Not a native English speaker, sorry for mistakes

Related

React Native (or alternative) that supports native "share via" feature

I need to create a wrapper app. Basically it is just a webview pointed to our online hosted react app. It must build to both iOS and Android. Therefore I have considered using plain react native.
Most important feature is that the app must be registered on the device as an app that can handle links when using the native "share" feature.
Example; if I do a google search in chrome/safari/whatever I am able to press-hold any of the links (search results) I can then click "share" this will normally open a menu with lets say share to; "drive", "gmail", "messenger", "sms".... etc. I want our wrapper app to show up in the menu and be able to handle the link.
I have tried to search for libraries/frameworks that makes this possible. But all search result I am getting seems to be explanation on how to do the opposite thing, opening the native share menu from within the app.
I have been looking at expo, but can't figure out if they support this feature, otherwise I would consider create-react-native-app which is react-native based, but I am also not able to find direct documentation on how to implement such feature.
Further more, I know that there is a unity plugin that will do this, and that I could combine it with a uniWebView which would handle the wrapper app part.
How can I achieve a native share to feature on a simple wrapper app that builds to both iOS and Android?
You won't be able to do that in react native on Android because its not part of the native code. Its part of the manifest. You need to follow the instructions at https://developer.android.com/training/sharing/receive and set up an intent filter in your manifest telling the OS your app handles the correct mime type, and what activity to send it to. That activity would then have to handle the incoming data, either directly or by sending it to react native (which is going to be at least a mild pain, RN is ok when you want it to display a isolated view or want it to call a native module, calling RN code isn't very easy). This doesn't mean your app can't use react native, but that you'll need to modify the default manifest it creates.
If that's a major usecase of your app and your app is 90% just displaying your webpage, you may have an easier time of things not using react native and just displaying a web view. (I'll leave my bias of RN just being a horrible solution for everything at the door here).

Flutter - handling logic part

Let's consider this use case:
I have an already developed app in android and iOS which is out here for a while. I would like to implement a library/package in Flutter that could run on Android and iOS projects. Let's say I want to store some data in the flutter part, trigger some events, and so on. I might not want to show any screen from flutter just a logic part would be here. Is it currently possible to do something like that? Just to reduce the effort to implement it natively in iOS and Android

Xamarin forms how to make a graphical custom UI component

I'm learning Xamarin (Forms) at the moment and I want to create a special component for my app so I'm looking for some guidance to get me started.
I'm imagining a component which has a main button in the middle, with text that could be "Birds" followed by the number of birds spotted this week.
Then, for each species spotted this week, there would be a line leading to the species name and the aggregated number of how many of that species have been spotted (so x number of lines). Basically a kind of a grouping diagram which acts like buttons.
I drew it up in mspaint, just without numbers.
I imagine my first step working with Xamarin Forms is to create the component in both Android Studio and Xcode, then package it as an component.
Can my idea be done in both Android and iOS? If so, would you please provide some tutorials on creating something like it, because I haven't come across something that I can use to get started yet.
UPDATE: SkiaSharp looks like the way I should be going.. https://developer.xamarin.com/guides/cross-platform/drawing/introduction/
Xamarin allows you to build mobile apps completely in C# so you don't need native development tools (like Android Studio and Xcode) all development can be done completely in Visual Studio (Mac or PC).
You can totally make what you're describing with Xamarin Forms! In order for you to do it, you must make a Custom Render. See this guide on Xamarin's website for making a custom renderer.

Is there a way to add Xamarin.forms to a Universal Windows App(UWP)?

I have a UWP application and I want it to be able to run into Android and also IOS using Xamarin.forms. Is there anyway to port it and run it on both of them?
Short answer: no.
Long answer: Xamarin Forms is "Xaml" too, but works on top of a completly different framework.
If you have used a good architecture, you can use all your viewmodels (or whatever your ui logic is called) and just put a Xamarin.Forms UI on top of that. With a little luck, you can reuse a lot of the structure from your existing xaml, but as most names are different, it is almost a complete rewrite. Or you could put a native UI with Xamarin.Plattform UI on top of your code.
So if you want to go cross platt form, you have to add at least one completely new UI.

mobile multiplatform development with native UI

i have developed an app, running on iphone and android, using phonegap and jquery mobile.
The combination of them is really great.
To support multi platform, I have also evaluated some other platforms too, but the problem that i have is that the UI does not feel native (and although not a problem for most apps performance cannot be compared with native).
The only solution so far giving acces to native UI seems to be monotouch.
Do you have any suggestions on platforms offering native ui at least on iphone and android, regardless of language used?
Thanks.
The only way to have native UI response is to write native apps.
The native UI is a puzzle indeed. You need read HIG firstly, cook UI with color and images to get close with system default ones. But if you are using PhoneGap thing, why do you even worry about it? Just rely on framework to get close the look and feel. Get your app really useful is more attractive than looking accustomed for user.
But it is important to adjust interactive design to avoid conflict. For example iOS navigation bar has return button in left most part, don't put it at right. And Android user will get disappoint if there is no response for long pressing or context menu key pressing.
for now i will go with a mixed on js based on phonegap and native controls plugin which i will extend as needed.

Categories

Resources