Integrate WebRTC in Xamarin - xamarin

There don't seem to be any APIs / examples of how to integrate WebRTC in Xamarin. There is a third party API (IceLink) by a company named Frozen Mountain Software but one requires a paid license to use it.
Any clue as to how to do this ?

You will have to use WebRTC native libraries for Xamarin. If you are good with using precompiled libraries then you may find it over web. However I prefer to compile webrtc native for each target platform. Google has documented steps very well, but it usually take time.
Once you have libraries ready for your platform then you can use it with xamarin. Let me know if you face any issue.

Related

Is Flutter just for UI development?

In Flutter's official web page, Flutter is described as below:
"Flutter is Google’s UI toolkit for building beautiful, natively compiled applications for mobile, web, and desktop from a single codebase."
My question is
1. Is it just for cross-platform UIs?
2. If it is, then how can you integrate with data models and all hardware features?
Thanks in advance!
Flutter is not just a framework that you can build great UI with. It uses the programming language Dart and the code is compiled to native platform code. It's not just for UI development as Google uses Flutter to make some of its applications like Stadia. Other companies like the New York Times build their apps with Flutter and those apps have functionality and they're entirely built with the Flutter framework.
So back to your question. It's not just for building beautiful UI's. Even in the documentation, it says:
natively compiled applications
So you can use Flutter to make cross-platform, native applications, not just for UI. It supports popular things like Redux, BLoC pattern, and many more for the reactivity of your app.
I recommend you take a look here to see some of the apps fully built with just the Flutter framework.
Flutter is UI plus business logic which means frontend, hence Flutter is a frontend SDK. Many people say that Dart is used for backend, but that’s not true, Dart is purely used for frontend logic and Flutter is indeed, 100% frontend. But…native Android and native iOS development too are “just” frontend, purely.
Because, the server side logic of any app is written using a backend language/framework which is not a responsibility for a frontend person (Android, iOS, Flutter or any other developer). Backend technologies to be used always depends on the company’s preferences. And remember, writing your backend in either of these frontend languages is not good for long-term lifespan of your app, most companies are not stupid, that they don’t use Kotlin or Dart or Swift in the backend to save money, they know that, ultimately, doing that will cost them even more than hiring backend devs separately because it is very rare (almost impossible) to find expert people who can code backends in Dart/Kotlin/Swift.
While JS has many existing, widely adopted stacks for backend, so the above is not same for web devs, they’ll be paid more for being a full-stack person.

How to include 'Zendesk' mobile chat support in xamarin forms application

I want to introduce 'Zendesk' chat support in my application. I have tried to search but not get the process of including. Please suggest any idea. Thanks in advance.
Zendesk documentation appears to only indicate native support for Android and iOS. Xamarin can link the SDKs individually for each build -- see Xamarin documentation for this (links included but not summarized due to length), but won't handle bridging the difference between the two. Windows will not be supported by this option. If you only want to target Android and iOS, you can use these options and create wrapper classes with a common interface.
Alternatively, if you badly need Windows support and are comfortable with web technologies, the web sdk offers a full api. Xamarin forms supports a webview in which you can load the web sdk, and either build a GUI in the webview or make api calls via the web sdk.
Links detailing including native libraries:
https://developer.xamarin.com/guides/android/advanced_topics/using_native_libraries/
https://developer.xamarin.com/guides/ios/advanced_topics/native_interop/
Note -- above link is specifically for native libraries, which I believe is correct for Zendesk's SDK. If not, there is also a guide for objective-c libraries on the Xamarin website.

How to make third party SDK for Xamarin? (like Facebook SDK)

I'm making app with bluetooth device with using Xamarin.forms. (PCL Project)
It's great platform and many great developers participate it.
I love it.
I have a question, let's say, I have to do porting third party library(SDK) from each native SDK for Xamarin. (ex-facebook / Of course I know there is facebook SDK for Xamarin already. It's just for example.)
What documents should I look?
In my actual case, I have to make app that uses DFU OTA to nordic bluetooth mcu. Nordic company gave to their developer native code(iOS and Android) for that.
Now I have to convert or use it on Xamarin.forms.
I learned dependency services and it works great.
Should I use dependency services?

Do I really need an OpenCL SDK?

I just tried to make myself familiar with OpenCL but totally got confused when everyone in the Internet was talking about downloading a Vendor specific OpenCL SDK. Why would I need that?
My understanding of using OpenCL was the following:
Download the OpenCL header files that are maintained by Kronos in the Khronos OpenCL Registry and make it available to your compiler.
Compile your code and link against the OpenCL.dll.
The reason why it confuses me is because I thought that OpenCL should abstract away vendor specific implementations. If I now download a Vendor specific SDK isn't then this advantage destroyed?
Can someone please make this clear?
Your understanding is absolutely correct - you do not need any vendor SDKs in order to develop or run OpenCL programs. All you need are the headers and a library to link against. The vendor SDKs provide sample code that may be useful to look at while you are learning how to use OpenCL, and they may also provide tools that can aid development.
On Windows, you will need an OpenCL.lib library to link against, which the SDKs do provide. You can download the sources for this library and build it yourself if you wish.
There is no harm from using a specific vendor's SDK however. The headers and library that they provide in the SDK should just be the stock Khronos versions that you can download yourself. This means that an OpenCL application built using one vendor's SDK will still run just fine against other vendors' devices.

Desktop publishing platform closely tied to PhoneGap?

I'm looking for a desktop publishing platform for Mac, Windows, and Linux that is closely tied to PhoneGap in terms of the concept. I know that there's Titanium for Desktop (TideSDK?) but as far as I've used it before, it requires the end-users to download a big 70mb-ish runtime file once. What I liked about PhoneGap is that it doesn't require any of that (it works out of the box). I'm looking for something similar, only, instead of being meant for the mobile development, it 's targeted at desktop application development.
Perhaps I failed to mention it but if you are not aware of what I'm specifically talking about, I'm talking about an environment of sort that will let me code via an HTML base and output a native for said platforms. Both TideSDK and PhoneGap does this.
I would highly recommend giving TideSDK another chance, I have developed large, data driven applications on it in the past, and deployed to OSX and Windows and have personally been very satisfied with it. Also, it is now an open source project managed and maintained by a very good team with some oversight and help from Appcelerator (the original creators).
Theyre are two benefits to TideSDk as I see it:
License - TideSDK is open source licensed under a liberal Apache 2.0 license. As opposed to QT which is under the restrictive GNU Lesser Public, and commercial license.
Power - TideSDK allows you to leverage native API's (like phonegap) but access them in your favorite programming language (well, choose between Ruby, PHP, and Python). Your only options with QT are C++.
As for what you said about the 70MB runtime, this is not true, I built the runtime in with my last project, and the binary I gave to my clients (OSX) was only 15.3MB.
Hope this helps you come to a decision.
There is a way to run a PhoneGap HTML5 App on the Desktop with the help of Adobe AIR like described here: http://www.tricedesigns.com/2012/02/17/repurposing-phonegap-apps-as-desktop-apps/
But I am also looking for a less bloaty approach. Maybe based on Xulrunner/Prism/WebRT thing (or Chrome).
Tidesdk is the easiest, xml file is almost identical to the phonegap, provides powerful api and the best part you can package your app with runtime. I think you should stick to tidesdk.
I was looking for the same and found this implementation for windows ony: https://github.com/davejohnson/phonegap-windows
I did not tried it though.

Resources