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

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?

Related

How to use SDK of SmartEyeglass in "Xamarin"?

I would like to use Xamarin software as developing "Smart eye glass" which is Sony products.
I am wonderring that "sony_smarteyeglass_sdk_v1.5" is allowed to use in "Xamarin"?
I know that "AndroidStudio" is compatible with Sony products(Smartglass).
The SmartEyeglass SDK is really just a set of java libraries for Android that give you the correct interface to the SmartEyeglass device. All of the code runs on the Android device and therefore you have access to any functionality that any other Android app has.

React native vs Xamarin forms

We need to build a commercial mobile app that is supported on iOS, Android and UWP platforms. We have been looking at react native and xamarin forms to do so. What is more recommended/preferable technology to implement this?
Reasons why we wanted to use react native in first place:
1) more experience in JavaScript
2) Some of the UI designs in our mobile app includes having cross platform features which by default could be native to either IOS or android. Such as having icon badges on tab items, having toggle search box in navigation bar. On react native we found these were more easily achievable by git hub plugins but in xamarin forms you need to write custom renderers to achieve so.
Reasons why started investigating on xamarin forms: Since the app needs to run windows phones too, we stared using react native XP plugin to support that. But end prototype on windows phone wasn't very impressive in terms of performance and user experience of some of react native plugins we have used. Plus we also had to do quite a bit UI customisation in terms of specifying width/heights to make components work.
I have been develop on Xamarin a few years now. My honest opinion is that there is a lot of third party libraries and components that only has support for Android and iOS only. Maybe you you check out what third party libraries you need and work back from there.
If Windows Phones are an honest target for you going forward, unless you can limit to those capable of UWP apps (Win 10 Mobile) then scratch Xamarin from the list. Windows Phone 8 and 8.1 support is deprecated and will be dropped soon from Forms.

Integrate WebRTC in 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.

iBeacon app for android and IOS doubts

I'm trying to learn something about iBeacon and I have a question:
As far as I understood Apple provides API in order to develop iBeacons app since IOS7, but for android how does it work? The only thing I found is that It works only from version 4.3 (Is it correct?) But are there any sdk or library to use?
Yes, you can use the open source Android Beacon Library, which gives Android the same basic capabilities to detect and transmit as beacons as provided by CoreLocation on iOS devices. This library is designed to be vendor neutral, and works with a wide variety of beacons. There are also a number of proprietary Android SDKs offered by beacon manufacturers, some of which harness special features that only work with those beacons.
The main thing to understand on Android is that while 4.3+ devices can all detect Bluetooth LE transmissions, there is no native beacon framework, and working with beacons typically requires quite a bit of logic beyond reading the Bluetooth LE packets they send out. As a result, Android beacon apps typically bundle a small library like mentioned above with the app to provide beacon detection and/or transmission capability.
Full disclosure: I am the lead developer for the Android Beacon Library.
You can use as well kontakt.io Android SDK which handles Beacons with IBeacon profile. In the latest release some optimizations in terms of battery consumption were made. Additionally, it supports filtering and modes (Android Lollipop and upwards) according to which scan is performed (explanation in brief here).
To start, visit http://docs.kontakt.io/android-sdk/quickstart/ and follow the instructions.
There is a sample app demonstrating SDK functionalities here. I suggest observing the project as it is the first place where new changes are being introduced.
As #davidgyoung pointed, there is no native framework for IBeacons in Android at the moment.

iPad development without a mac

I am interested in developing an app for my new iPad purely for my own use. (well to start with at least)
Is there a way to develop an app without a mac?
Can I install the app only on my own iPad without having to sign up to the right to publish it when I might not even want to do that?
EDIT:
Could i use an old G3 powerbook for development? They can be picked up really cheap on ebay. Would something of that spec be up to running the xcode development environment?
I think the best option is to develop the application using HTML5 / Javascript and CSS, and use a service like appMobi or PhoneGap to compile it for IOS. They both have an online service that can make the build for you without needing you to own a Mac.
You have also the added advantage that you can compile your app not only for IOS, but for Windows Mobile, Android, Blackberry and even the good old web.
You have some Javascript libraries like JQTouch that allows you to easily implement the IPhone look and feel in your web app. Normally you can't access the native API from Javascript, but these solutions (appMobi and PhoneGap) offers a Javascript API that you can use to access Camera, GPS, Gyro, etc...
I think normally serious apps are coded for many platforms, and if you don't have the structure to pay to 4 different skill sets, it makes sense to code in HTML5, and from there you have a more future and device proof solution. Even if you "can" pay different developers to code in diffrent mobile platforms I would prefer to do it in HTML5.
Oh, and also take a look at applicationcraft.com, pretty cool online IDE (wysiwyg) connected to PhoneGap, really easy to develop prototypes. The generated HTML/Javascript is not very usefull to continue editing it outside their IDE (a bit complicated), but, again, for something very simple or a prototype it's something you must check out.
Good Luck
Is there a way to develop an app without a mac?
Officially, no. Realistically, unless you like wasting countless hours, no.
Can I install the app only on my own iPad without having to sign up to the right to publish it when I might not even want to do that?
No, you must be a paid developer in order to push to anything but the simulator.
xcode for windows.
http://ipodtoucher55.blogspot.com/2010/12/installing-ios-sdk-and-xcode-on-windows.html
Yes, you can develop without apple computer (using hackintosh).
And yes, you can install the developed app on your iPad without having to pay for developer program. There are a tons of guides over the internet about running (thus installing) apps on ios devices without developer program.
check this:
How can I deploy an iPhone application from Xcode to a real iPhone device?
You can develop for iOS without a Mac by using Adobe Flex. The Flex SDK is free and Open Source, and includes a compiler + packager. If you want an IDE, you can get Adobe FlashBuilder (not free, but with a free 90-day trial), which makes your development time much more productive.
You would not develop in C, C++, or Objective C, but in a combination of ActionScript (a dialect of Javascript) and MXML (markup language, mainly for rich GUI layout).
On the minus side: you have less control over what you can do (you can still do a lot) and you cannot use the iOS SDK directly.
On the plus side: it is very easy to develop great looking apps, and with very little changes, you can recompile them for Android, Blackberry Playbook, Windows, and Mac OS X.
You do not technically need a Mac to develop an app, unless you are serious about it. There are couple of solutions available to you for developing mac-less.
First, there are some services that port your HTML5 web apps into an iOS app, so you only need to write your code HTML5.
Second, if you dont want to buy a Mac, you can instead buy Snow Leopard or Lion, and build your own "hackintosh" (a windows computer hacked to run off the mac operating system).
Finally, you cannot make your app available for purchase in the App Store unless you are a paid developer. However, you could publish online as an HTML5 web application, or you could publish your app in a third-party app developer market (however you could only intall that app if you jailbreak your iPad).
Not sure how new this is, but Dragon Fire SDK is 100% Windows based (you do submit your code to them for compilation), but at no time are you required to own a Mac.

Resources