In my Xamarin forms application, I need to integrate Revel Payment gateway. Does revel payment supports Xamarin platform?
http://revelsystems.com/
There isn't a lot of information about this, and Revel's website doesn't explicitly mention any access to API's or SDK's that might allow you to do this. The only thing i came across is a company called Apiant (Website here) that apparently offer consultations on how to create workflows that link xamarin unified and revel systems. That said though I couldn't find any information on how you would do this yourself.
I suspect this is a question best suited for 'RevelSystems' and not the wider community of stackoverflow.
Related
I'm thinking about a new mobile/tablet application.
I want to allow the users to develop their own plugins.
Imagine a cash desk application running on a Android tablet. The user could use many alternative when connecting to the credit card reader (Square, Sum'Up, ...).
If my application was an old Win32, I would just publish an API and let Square or Sum'Up developpers create a DLL. This DLL would then be placed somewhere on the computer. At application startup, I just have to look for those DLL and dynamically load them.
In fact, the real question is : Is it possible to create a plugin based application ? I'm thinking about Managed Extensibility Framework here. Many questions come to mind :
How to deploy those plugins ?
Does this work for all the platforms (iOS, Android, UWP) ?
...
I was unable to find any documentation on this.
Many thanks for your thoughts and indications.
Not sure if this answers your question fully.
However, a MEF like architecture could probably work on Android if you put the DLL's somewhere publicly discoverable, such as in /storage/emulated/0. Alternatively, such plugins could be distributed as separate Apps, providing Services, Content Providers and Activities consumable from other Apps.
However, on iOS you would not be able to publish such an App in the App Store though, as Apple does not allow you to use dynamically linked libraries there. You could maybe do it for Apps that don't go on the App Store, such as for Enterprise distribution.
While it might not be the greatest solution. You would always be able to navigate between Apps on iOS through URLs. However, that is not the greatest experience, since this would mean you would be leaving your App every time you wanted to get into a "plugin" App to do something.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
As a complete beginner to Xamarin and new entrant to mobile app development, I have some questions about Xamarin and about the way it works which I was not able to find on the internet
How does Xamarin Cross-platform actually work? Is it any use? I was told Xamarin told Xamarin is a cross-platform mobile development solution, but when I Start off, I see it actually encourages you to create separate projects for iOS and Android. I understand that is to give us more power and there is always Xamarin Forms if we want cross-platform UI. In that case, however, I would expect the Portable Class libraries to handle all the backend logic while the native projects are used only for the UI. But when I started out, the most basic library for accessing mobile functionality (Xamarin.Mobile), is not compatible with PCL. What is the use of PCL even in that case?
How are cross-platform apps generally made in Xamarin? What is the role of the PCL and how do we get it to do cross-platform stuff?
Is there no pre-built Xamarin API which allows to do most mobile-related stuff platform independently? Seems we have to download new libraries from nuGet for every little thing we want to do which is quite painful
I hate to ask this. But is the only real advantage of Xamarin the fact that we can code in C# instead of native languages? What I was expecting is actual cross-platform shared code-base. If unity can do it, why can Xamarin not do it?
As someone who's worked with Xamarin (certified) for more than 2 years I will try to answer your questions:
1) Xamarin is a .NET framework that compiles to native code for both platforms. 2 years ago you'd create projects for every 'type' of app you built (Android, iOS, etcetera). In practise this meant you writing Activities for android (in the .NET way of doing things, but with the exact same native android types) and UIViewControllers for iOS. Xamarin.Forms has been out for a while and is a solution that will allow you to share UI Code as well as Business logic.
2) Depending on the app, one chooses either Xamarin.Forms or the native route. In case of the native route you'd create views for every platform (Android AXML and iOS Storyboarding). Additionally a PCL would be added containing all the business logic. This way you can call
var authResult = AuthService.Login(username,password);
var settings = SettingsService.GetUserLocalDbSettings();
from both iOS and Android, and the business logic for logging someone in - only has to be written once. Xamarin.Forms allows you to also share UI, by building XAML-layouts in the Xamarin.Forms project. These get transformed to the right screen type in either OS. Note: This only works properly with simple layouts (think lists, tabs etcetera). Complex layouts take way more time in forms to the point you switch to native.
3) Xamarin is only the framework allowing you to write .NET for these platforms. There's a lot of plugins available (e.g. Connectivity check) that are available. Install them in your native projects AND the PCL, and you'll be able to check whether the app has connectivity from within the PCL, or not). Xamarin is the hammer, Nuget offers the nails.
4) You can share a lot of code (PCL). My honest experience though is that most of the time you'll be building layouts (views) for both platforms. The business logic (signing in, saving items to a SQLite database) costs the least time to build. UI / design however,....requires a lot more patience. So YES you can share all business logic (as far as the used libraries respect the PCL profile).
5) Protip: Xamarin offers some free university training since they have been part of Microsoft.
I agree with the comment made by Lex Li above that you seems to be quite new not only in Xamarin space but also in C# development space, but will still try to add to the points mentioned by Eric J which I think he has missed in his answers.
Answer to Question 1:
How does Xamarin Cross-platform actually work? Is it any use?
Already answered by people before me.
What is the use of PCL even in that case?
You didn't found the use of PCL because you didn't tried to use it correct way. It's not for accessing mobile feature from common code, It's used for writing code which is common for all the platforms example for such type of code can be 'Web Service call', 'Business Logic' etc.
Answer to Question 2:
This is a very generic question whose answer is given many times, by many people. The best place to know more about Xamarin is by following the Xamarin Developer Guide
Answers to Question 3:
As mentioned by Lex Li Nuget is core of .Net package distribution and you should use it not only because of this reason but also because it makes development and deployment more easy.
Like :
1) You need not to worry about where to store DLLs (GAC/Local)
2) No need to store a particular version of DLL in fear of loosing it, all the versions are stored on Nuget Servers and Visual Studio automatically downloads the one which is mentioned in you Package config.
3) You can choose to use pre-release version of any DLL in one project and Stable version in other with out worrying about any clash.
Answers to Question 4:
I think all the advantages are already mentioned in above answers, I would request you to first try working with Xamarin sincerely and then start ranting about it.
Unless you learn Xamarin as part of the larger C# ecosystem, the questions and answers will be hard for you to digest.
1 and 2: Kind of the worst questions. So many use Xamarin. PCL is dying if you really know how C# and .NET ecosystem go. .NET Standard and Standard Library will be the future, and have already been supported by the latest beta builds from Xamarin.
3: NuGet is the core of .NET package distribution (like npm for JavaScript) and every C# programmers should use it. If you cannot get used to that, well, nobody forces you to start your own tool chain.
4: Then why not use Unity? What are you waiting for then? Xamarin has its own target user groups, and those guys do appreciate that only the meaningful code should be shared. People do love platform dependent UI, as that can blend perfectly into native platforms.
I'm trying to figure out a way to create a real-time chatting app with Xamarin and some kind of backend technology. How can I do it?
I have a better solution. The above-mentioned technologies(buddy SDK & SignalR) will require you to integrate and handle everything by your self. Instead, you can go for CometChat SDK, which has real-time chat along with Audio/Video chat functionalities. Also, you can use its ready-made UI inside your application. It is the easiest & quickest way for you to make a real-time chatting system. For more information on CometChat you can refer to the following link:
https://developer.cometchat.com/docs/xamarin-forms-quick-start
As mentioned by ChristiaanV, SignalR is the way to go.
The Performance is great with Xamarin, we delivered more than 150k messages within 2 hours without any problems regarding the connection.
With Azure Mobile App and ServiceBus, you can easily scale out your backend, as described here http://www.asp.net/signalr/overview/performance/scaleout-with-windows-azure-service-bus
Have a look at SignalR, it's a good and easy to use framework to do realtime 'things'. They also have a Xamarin Component which is free to use.
https://github.com/SignalR/SignalR
http://components.xamarin.com/view/signalr
Please note that I personally don't have experience with using it on mobile devices, so I can't tell you anything about how it's performing battery / performance wise.
I have to provide my app with a good library for Facebook integration. For now, a FB login is all I need, but in the future I'll need more features.
With a quick search in Google I realized that the most popular library is http://facebooksdk.codeplex.com/, however, I'm totally lost in how to make a login and get required information to my app. I followed the guidelines of this link but it doesn't make it really clear. In the Codeplex websites, the information seems to be out of date or missing some previous steps...
I also followed this Stack Overflow link that has a solution very similar to what I need and in a fast test, works. But I don't know if its the most elegant solution and the best for the future, when my app will have a lot of interaction, and not only login.
So, I'd like to know if someone can help me with:
A quick step-by-step guide on how to login with my Facebook account
A link with documentation to extend my app features, for example, how to post on Facebook programmatically.
My final question: using this SDK from Codeplex is really the best for my app?
You can download the latest source code and checkout the "Samples" folder which demonstrates the usage of login and other various requests to facebook.
All your scenarios are in the samples. http://facebooksdk.codeplex.com/SourceControl/list/changesets
I'd like to get some feedback and references to any useful resources related to iTunes integration on Windows platform from fellow developers experienced in that area. COM SDK vs. JavaScript API? What are the advantages and limitations? Any useful blogs or discussion groups? Any recommended outsourced vendors experienced in this type of work? What would be involved in developing an application with features similar to simplifymedia.com?
Any information on the topic is appreciated!
I built a WebForms app in ASP.NET on my workstation using the COM SDK. It was extremely easy and I would recommend using the COM SDK for compiled code or VBScripting.
I would use a JavaScript API if you're doing a simple web app or sidebar gadget or something like that.
The APIs are defined for different domains.
And from my experience with the COM SDK, using it was extremely simple and easy, but I was just doing something simple.