In this last part of this series, we will see a couple more technologies that can be used to implement local multiplayer on mobile devices.
Wi-Fi Direct
Wi-Fi Direct, also known as Wi-Fi P2P, aims to bring together the discoverability and direct connection of Bluetooth, with the speed and long range of Wi-Fi. Its main advantages are:
- It is a superset of the standard Wi-Fi, so any Wi-Fi enabled device can connect to a Wi-Fi P2P host.
- As it is a direct connection between 2 devices, there is no need for a separate Wi-Fi hotspot.
- It implements device discovery
- It is faster and has a longer range than Bluetooth.
Too good to be true? Unfortunately yes, and this technology has its disadvantages too:
- (You guessed it) You cannot act as a Wi-Fi P2P host directly on a non-jailbroken iOS device.
- There is no Cordova implementation that I know of.
In conclusion, while this technology is certainly valid, it shares the same disadvantages as Bluetooth, and adding to that the lack of a Cordova implementation, I don't see myself using this technology anytime soon.
To recap, in this series we have seen that we can connect Android devices using Bluetooth, that we can connect Android and iOS devices using Wi-Fi, but we need a Wi-Fi hotspot, and in theory we can connect an iOS device to an Android device, if the Android device acts as a Wi-Fi P2P host (and someone is willing to write a Cordova implementation...).
By what we've seen so far, without a Wi-Fi hotspot it is not possible to connect iOS devices to other iOS devices, and here's when a proprietary Apple technology comes into play:
Multipeer Connectivity
Multipeer Connectivity can be thought of as an abstraction layer between all the beforementioned technologies, and the framework will use the underlying technology that is best suited for the job. In other words if both devices are connected to the same Wi-Fi hotspot, it will use Wi-Fi; if both devices have Wi-Fi enabled, but no hotspot is available it will use Wi-Fi Direct; and if both devices have Bluetooth enabled it will use Bluetooth.
This is a very interesting technology, but it has 2 major downsides:
- It is a proprietary technology by Apple, which means it works only on iOS and Mac devices.
- There is no Cordova implementation that I know of.
The Cordova implementation is the lesser of the problems, as anyone willing to implement it can do it.
Too bad that it is not an open standard, as it would have allowed once and for all, and more importantly, with a single API, to connect any device to any other device.
I hope you enjoyed this series, and stay tuned for more.
Comments !