Near Field Communication
Near Field Communication (NFC) is a very short range radio technology that allows NFC-enabled devices to communicate with each other within a proximity of up to 1.5 cm (5/8 in.). NFC allows the exchange of small amounts of content between two NFC-enabled devices when they are brought together to gently touch, or 'tap'. More specifically, a 'tap' is said to have occurred when two NFC-enabled devices physically touch, or are brought close together for a period of time that is long enough to complete data communication. By touching two NFC-enabled devices together, you can perform simplified Bluetooth pairing, share files and other content using Bluetooth Handover, read content from NDEF sources, or write content to NDEF targets.
NFC has become a very popular technology, and the demand for NFC-enabled devices and apps is growing exponentially without any signs of slowing down. One of the reasons NFC has rapidly gained acceptance among the development community is due in part to the fact that it's a standards-based technology that is governed by The NFC Forum. The NFC Forum was created as an open, publicly available, central resource to represent NFC, and it serves the development community by developing and maintaining all of the standards and specifications that govern NFC technology.
For more information on NFC and all of its specifications, see the NFC Forum.
Working with NFC: Cascades vs Core native development
There are many ways to work with NFC in the BlackBerry 10 OS. Different approaches and APIs can be used in your NFC apps to accomplish similar, or the same, tasks. You can use the Cascades and Qt approach using the available C++ NFC APIs to build your apps, or you can build your apps using the low level native C APIs of the Core native development approach.
Both approaches have their own set of advantages, disadvantages, and functionalities. It's important to note that the Cascades and Qt APIs provide a subset of the functionalities found in the native C APIs, therefore whichever approach you choose will depend upon the functional requirements of your app. If the functionality that your app requires is not available in the Qt and Cascades NFC APIs, then you may want to consider using the Core native development approach to build your apps. However, if the Qt and Cascades NFC APIs satisfy the functional requirements of your app, then you may want to use the flexibility and power of the Qt and Cascades object oriented C++ NFC APIs.
The BlackBerry 10 OS uses the Qt framework and extends it to provide a set of BlackBerry 10 specific Qt and Cascades NFC APIs. The BlackBerry 10 OS also provides the invocation framework, which can be used with the Cascades APIs to give your apps access to an enhanced set of additional functionality when working with NFC.
For more information about the BlackBerry 10 specific Qt and Cascades NFC APIs, see C++ NFC APIs.
For more information about the invocation framework, see Invocation framework.
You can use the links provided above to investigate whether the C++ NFC APIs have the functionality you need to satisfy your app's requirements, and then decide whether you want to work with Cascades, using our extended Qt NFC APIs and the invocation framework, or if you'd prefer to work with the BlackBerry 10 OS native C APIs.
If you've chosen to work with Cascades, using the Qt APIs and the invocation framework, then you've come to the right place!
Last modified: 2014-01-07