Programming Resources: Difference between revisions

From Phidgets Support
(21 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Category:Overview]]
[[Category:Overview]]
==Language Support==
==Language Support==
 
We provide support for a variety of programming languages. Each language has code samples for you to use as well as an in-depth API for you to reference. If you aren't sure which language to use, we recommend using [[Language - Python|Python]], because it is quick to learn.
We provide a variety of supported languages for using Phidgets. Each language has its own ''libraries'', which may be found on the language pages below, along with code examples and an in-depth API.
 
Many languages also depend on the ''core drivers'' being installed as well.  These drivers can be found on the operating system pages above.
 
Phidgets supports the following languages.  If the language you have chosen is not fully supported with examples for all products then there are some resources available for you to fill in the gaps. First we recommend you look at the API which will show you all of the functions you can use.  Next, you should look at the code samples that ''are'' available in that language.  Finally you should look at code samples for your device in other languages.  Between those three things you should be able to piece together what you need to be doing, as always, if you run into trouble {{ContactUs|contact us}}.  If you have some flexibility in what language to use, we recommend using a '''Core Language''':


{| style="border:1px solid darkgray;" cellpadding="7px;"
{| style="border:1px solid darkgray;" cellpadding="7px;"
|-style="background: #f0f0f0" align=center  
|-style="background: #f0f0f0" align=center  
! Language || Libraries || API || Code Samples<sup>&dagger;</sup> || [[General Phidget Programming#Event Driven Code|Events]] || [[General Phidget Programming#Logic Code|Logic Code]] || Use via Direct USB* || Phidget User Base || OS Support
! Language || Libraries || Code Samples || OS Support
|-
 
|colspan="5"|'''Core Languages'''
|-
|-


|[[Image:Icon-CSharp.png|alt=C Sharp|24x24px|link=Language - C Sharp]] [[Language - C Sharp|C#]]
|[[Image:Icon-CSharp.png|alt=C Sharp|24x24px|link=Language - C Sharp]] [[Language - C Sharp|C#]]
|style="background: #f0f0ff" align=center| [[Language - C Sharp#Quick Downloads|Quick Downloads]]
|style="background: #f0f0ff" align=center| [[Language - C Sharp#Quick Downloads|Quick Downloads]]
|style="background: #ade6ab" align=center| All Devices
|style="background: #ade6ab" align=center| All Devices
|style="background: #ade6ab" align=center| All Devices
|style="background: #ade6ab" align=center| [[Image:Checkmark.png|link=]]
|style="background: #ade6ab" align=center| [[Image:Checkmark.png|link=]]
|style="background: #ade6ab" align=center| [[Image:Checkmark.png|link=]]
|style="background: #ade6ab" align=center| [[Image:Level-10.png|link=|alt=Extensive]]
|style="background: #ade6ab" align=center| [[Image:Icon-Windows.png|alt=OS - Windows|24x24px|link=OS - Windows]]  [[Image:Icon-Mac-OS.png|alt=OS - OS X|24x24px|link=OS - OS X]]  [[Image:Icon-Linux.png|alt=OS - Linux|24x24px|link=OS - Linux]]
|style="background: #ade6ab" align=center| [[Image:Icon-Windows.png|alt=OS - Windows|24x24px|link=OS - Windows]]  [[Image:Icon-Mac-OS.png|alt=OS - OS X|24x24px|link=OS - OS X]]  [[Image:Icon-Linux.png|alt=OS - Linux|24x24px|link=OS - Linux]]
|-
|-


|[[Image:Icon-C++.png|alt=C/C++|24x24px|link=Language - C/C++]] [[Language - C/C++|C/C++]]  
|[[Image:Icon-C.png|alt=C|24x24px|link=Language - C]] [[Language - C|C]]  
|style="background: #f0f0ff" align=center| [[Language - C/C++#Quick Downloads|Quick Downloads]]
|style="background: #f0f0ff" align=center| [[Language - C#Quick Downloads|Quick Downloads]]
|style="background: #ade6ab" align=center| All Devices
|style="background: #ade6ab" align=center| All Devices
|style="background: #ade6ab" align=center| All Devices
|style="background: #ade6ab" align=center| [[Image:Checkmark.png|link=]]
|style="background: #ade6ab" align=center| [[Image:Checkmark.png|link=]]
|style="background: #ade6ab" align=center| [[Image:Checkmark.png|link=]]
|style="background: #ade6ab" align=center| [[Image:Level-10.png|link=|alt=Extensive]]
|style="background: #ade6ab" align=center| [[Image:Icon-Windows.png|alt=OS - Windows|24x24px|link=OS - Windows]]  [[Image:Icon-Mac-OS.png|alt=OS - OS X|24x24px|link=OS - OS X]]  [[Image:Icon-Linux.png|alt=OS - Linux|24x24px|link=OS - Linux]]
|style="background: #ade6ab" align=center| [[Image:Icon-Windows.png|alt=OS - Windows|24x24px|link=OS - Windows]]  [[Image:Icon-Mac-OS.png|alt=OS - OS X|24x24px|link=OS - OS X]]  [[Image:Icon-Linux.png|alt=OS - Linux|24x24px|link=OS - Linux]]
|-
|-
Line 40: Line 22:
|[[Image:Icon-Python.png|alt=Python|24x24px|link=Language - Python]] [[Language - Python|Python]]  
|[[Image:Icon-Python.png|alt=Python|24x24px|link=Language - Python]] [[Language - Python|Python]]  
|style="background: #f0f0ff" align=center| [[Language - Python#Quick Downloads|Quick Downloads]]
|style="background: #f0f0ff" align=center| [[Language - Python#Quick Downloads|Quick Downloads]]
|style="background: #ade6ab" align=center| All Devices
|style="background: #ade6ab" align=center| All Devices
|style="background: #ade6ab" align=center| All Devices
|style="background: #ade6ab" align=center| [[Image:Checkmark.png|link=]]
|style="background: #ade6ab" align=center| [[Image:Checkmark.png|link=]]
|style="background: #ade6ab" align=center| [[Image:Checkmark.png|link=]]
|style="background: #ade6ab" align=center| [[Image:Level-07.png|link=|alt=Extensive]]
|style="background: #ade6ab" align=center| [[Image:Icon-Windows.png|alt=OS - Windows|24x24px|link=OS - Windows]]  [[Image:Icon-Mac-OS.png|alt=OS - OS X|24x24px|link=OS - OS X]]  [[Image:Icon-Linux.png|alt=OS - Linux|24x24px|link=OS - Linux]]
|style="background: #ade6ab" align=center| [[Image:Icon-Windows.png|alt=OS - Windows|24x24px|link=OS - Windows]]  [[Image:Icon-Mac-OS.png|alt=OS - OS X|24x24px|link=OS - OS X]]  [[Image:Icon-Linux.png|alt=OS - Linux|24x24px|link=OS - Linux]]
|-
|-
Line 51: Line 28:
|[[Image:Icon-Java.png|alt=Java|24x24px|link=Language - Java]] [[Language - Java|Java]]  
|[[Image:Icon-Java.png|alt=Java|24x24px|link=Language - Java]] [[Language - Java|Java]]  
|style="background: #f0f0ff" align=center| [[Language - Java#Quick Downloads|Quick Downloads]]
|style="background: #f0f0ff" align=center| [[Language - Java#Quick Downloads|Quick Downloads]]
|style="background: #ade6ab" align=center| All Devices
|style="background: #ade6ab" align=center| All Devices
|style="background: #ade6ab" align=center| All Devices
|style="background: #ade6ab" align=center| [[Image:Checkmark.png|link=]]
|style="background: #ade6ab" align=center| [[Image:Icon-Windows.png|alt=OS - Windows|24x24px|link=OS - Windows]] [[Image:Icon-Mac-OS.png|alt=OS - OS X|24x24px|link=OS - OS X]]  [[Image:Icon-Linux.png|alt=OS - Linux|24x24px|link=OS - Linux]] [[Image:Icon-Android.png|alt=OS - Android|24x24px|link=OS - Android]]
|style="background: #ade6ab" align=center| [[Image:Checkmark.png|link=]]
|style="background: #ade6ab" align=center| [[Image:Checkmark.png|link=]]
|style="background: #ade6ab" align=center| [[Image:Level-07.png|link=|alt=Extensive]]
|style="background: #ade6ab" align=center| [[Image:Icon-Windows.png|alt=OS - Windows|24x24px|link=OS - Windows]]  [[Image:Icon-Mac-OS.png|alt=OS - OS X|24x24px|link=OS - OS X]] [[Image:Icon-Linux.png|alt=OS - Linux|24x24px|link=OS - Linux]]
|-
|-


|[[Image:Icon-Java.png|alt=Java|24x24px|link=Language - Java]] [[Language - Java|Java]]  
|[[Image:Icon-Javascript.png|alt=javascript|24x24px|link=Language - JavaScript]] [[Language - JavaScript|JavaScript]]
|style="background: #f0f0ff" align=center| [[Language - Java#Quick Downloads|Quick Downloads]]
|style="background: #f0f0ff" align=center| [[Language - JavaScript#Quick Downloads|Quick Downloads]]
|style="background: #ade6ab" align=center| All Devices
|style="background: #ade6ab" align=center| All Devices
|style="background: #ade6ab" align=center| All Devices
|style="background: #ade6ab" align=center| [[Image:Checkmark.png|link=]]
|style="background: #ade6ab" align=center| [[Image:Checkmark.png|link=]]
|style="background: #ade6ab" align=center| [[Image:Checkmark.png|link=]]
|style="background: #ade6ab" align=center| [[Image:Level-07.png|link=|alt=Extensive]]
|style="background: #ade6ab" align=center| [[Image:Icon-Windows.png|alt=OS - Windows|24x24px|link=OS - Windows]]  [[Image:Icon-Mac-OS.png|alt=OS - OS X|24x24px|link=OS - OS X]]  [[Image:Icon-Linux.png|alt=OS - Linux|24x24px|link=OS - Linux]]
|style="background: #ade6ab" align=center| [[Image:Icon-Windows.png|alt=OS - Windows|24x24px|link=OS - Windows]]  [[Image:Icon-Mac-OS.png|alt=OS - OS X|24x24px|link=OS - OS X]]  [[Image:Icon-Linux.png|alt=OS - Linux|24x24px|link=OS - Linux]]
|-
|-


|[[Image:Icon-Javascript.png|alt=javascript|24x24px|link=Language - Javascript]] [[Language - Javascript|Javascript]]
|[[Image:Icon-Visual Basic Net.png|alt=Visual Basic .NET|24x24px|link=Language - Visual Basic .NET]] [[Language - Visual Basic .NET|Visual Basic .NET]]
|style="background: #f0f0ff" align=center| [[Language - Javascript#Quick Downloads|Quick Downloads]]
|style="background: #f0f0ff" align=center| [[Language - Visual Basic .NET#Quick Downloads|Quick Downloads]]
|style="background: #ade6ab" align=center| All Devices
|style="background: #ade6ab" align=center| All Devices
|style="background: #ade6ab" align=center| All Devices
|style="background: #ade6ab" align=center|
|style="background: #ade6ab" align=center| [[Image:Icon-Windows.png|alt=OS - Windows|24x24px|link=OS - Windows]]
|style="background: #ade6ab" align=center|
|style="background: #ade6ab" align=center|
|style="background: #ade6ab" align=center|  
|style="background: #ade6ab" align=center|
|-
|-


|[[Image:Icon-Cocoa.png|alt=Cocoa|24x24px|link=Language - Cocoa]] [[Language - Cocoa|Cocoa]]  
|[[Image:Icon-Swift.png|alt=Cocoa|24x24px|link=Language - Swift]] [[Language - Swift|Swift]]  
|style="background: #f0f0ff" align=center| [[Language - Cocoa#Quick Downloads|Quick Downloads]]
|style="background: #f0f0ff" align=center| [[Language - Swift#Quick Downloads|Quick Downloads]]
|style="background: #ade6ab" align=center| All Devices
|style="background: #ade6ab" align=center| All Devices
|style="background: #ade6ab" align=center| All Devices
|style="background: #ade6ab" align=center| [[Image:Checkmark.png|link=]]
|style="background: #ade6ab" align=center| [[Image:Icon-Mac-OS.png|alt=OS - OS X|24x24px|link=OS - OS X]][[Image:Icon-iOS.png|alt=OS - iOS|link=OS - iOS|24x24px|link=OS - iOS]]
|style="background: #ade6ab" align=center| [[Image:Checkmark.png|link=]]
|style="background: #ade6ab" align=center| [[Image:Checkmark.png|link=]]
|style="background: #ade6ab" align=center| [[Image:Level-01.png|link=|alt=Extensive]]
|style="background: #ade6ab" align=center| [[Image:Icon-Mac-OS.png|alt=OS - OS X|24x24px|link=OS - OS X]]
|-
|-


|colspan="5"|'''Mobile Languages'''
|[[Image:Icon-ObjC.png|alt=ObjC|24x24px|link=Language - Objective C]] [[Language - Objective C|Objective C]]
|-
|style="background: #f0f0ff" align=center| [[Language - Objective C#Quick Downloads|Quick Downloads]]
 
|style="background: #FFC17F" align=center| Some Devices<nowiki>*</nowiki>
|[[Image:Icon-Android.png|alt=Android Java|24x24px|link=Language - Android Java]] [[Language - Android Java|Android Java]]
|style="background: #ade6ab" align=center| [[Image:Icon-Mac-OS.png|alt=OS - OS X|24x24px|link=OS - OS X]][[Image:Icon-iOS.png|alt=OS - iOS|link=OS - iOS|24x24px|link=OS - iOS]]
|style="background: #f0f0ff" align=center| [[Language - Android Java#Quick Downloads|Quick Downloads]]
|style="background: #ade6ab" align=center| All Devices
|style="background: #EFE973" align=center| InterfaceKit Only
|style="background: #ade6ab" align=center| [[Image:Checkmark.png|link=]]
|style="background: #E28585" align=center| X
|style="background: #FFC17F" align=center| Some Devices [[Image:Icon-Android_Honeycomb.png|24px|link=Software_Overview#Honeycomb|alt=]]
|style="background: #ade6ab" align=center| [[Image:Level-01.png|link=|alt=Moderate]]
|style="background: #ade6ab" align=center| [[Image:Icon-Android.png|alt=OS - Android|link=OS - Android|24x24px|link=OS - Android]]
|-
 
|[[Image:Icon-iOS.png|alt=iOS|24x24px|link=Language - iOS]] [[Language - iOS|iOS]]
|style="background: #f0f0ff" align=center| [[Language - iOS#Quick Downloads|Quick Downloads]]
|style="background: #ade6ab" align=center| All Devices
|style="background: #EFE973" align=center| InterfaceKit Only
|style="background: #ade6ab" align=center| [[Image:Checkmark.png|link=]]
|style="background: #ade6ab" align=center| [[Image:Checkmark.png|link=]]
|style="background: #E28585" align=center| X
|style="background: #ade6ab" align=center| [[Image:Level-01.png|link=|alt=Moderate]]
|style="background: #ade6ab" align=center| [[Image:Icon-iOS.png|alt=OS - iOS|link=OS - iOS|24x24px|link=OS - iOS]]
|-
 
|colspan="5"|'''Other Languages'''
|-
|-


|[[Image:Icon-LabVIEW.png|alt=LabVIEW|24x24px|link=Language - LabVIEW]] [[Language - LabVIEW|LabVIEW]]  
|[[Image:Icon-LabVIEW.png|alt=LabVIEW|24x24px|link=Language - LabVIEW]] [[Language - LabVIEW|LabVIEW]]  
|style="background: #f0f0ff" align=center| [[Language - LabVIEW#Quick Downloads|Quick Downloads]]
|style="background: #f0f0ff" align=center| [[Language - LabVIEW#Quick Downloads|Quick Downloads]]
|style="background: #ade6ab" align=center| All Devices
|style="background: #ade6ab" align=center| All Devices
|style="background: #ade6ab" align=center| All Devices
|style="background: #ade6ab" align=center| [[Image:Checkmark.png|link=]]
|style="background: #ade6ab" align=center| [[Image:Checkmark.png|link=]]
|style="background: #ade6ab" align=center| [[Image:Checkmark.png|link=]]
|style="background: #ade6ab" align=center| [[Image:Level-04.png|link=|alt=Moderate]]
|style="background: #ade6ab" align=center| [[Image:Icon-Windows.png|alt=OS - Windows|24x24px|link=OS - Windows]]
|style="background: #ade6ab" align=center| [[Image:Icon-Windows.png|alt=OS - Windows|24x24px|link=OS - Windows]]
|-
|-
Line 134: Line 64:
|[[Image:Icon-MaxMSP.png|24x24px|alt=Max/MSP|link=Language - Max/MSP]] [[Language - Max/MSP|Max/MSP]]
|[[Image:Icon-MaxMSP.png|24x24px|alt=Max/MSP|link=Language - Max/MSP]] [[Language - Max/MSP|Max/MSP]]
|style="background: #f0f0ff" align=center| [[Language - Max/MSP#Quick Downloads|Quick Downloads]]
|style="background: #f0f0ff" align=center| [[Language - Max/MSP#Quick Downloads|Quick Downloads]]
|style="background: #ade6ab" align=center| All Devices
|style="background: #ade6ab" align=center| All Devices
|style="background: #ade6ab" align=center| All Devices
|style="background: #ade6ab" align=center| [[Image:Checkmark.png|link=]]
|style="background: #ade6ab" align=center| [[Image:Checkmark.png|link=]]
|style="background: #ade6ab" align=center| [[Image:Checkmark.png|link=]]
|style="background: #ade6ab" align=center| [[Image:Level-01.png|link=|alt=Moderate]]
|style="background: #ade6ab" align=center| [[Image:Icon-Windows.png|alt=OS - Windows|24x24px|link=OS - Windows]]  [[Image:Icon-Mac-OS.png|alt=OS - OS X|24x24px|link=OS - OS X]]
|style="background: #ade6ab" align=center| [[Image:Icon-Windows.png|alt=OS - Windows|24x24px|link=OS - Windows]]  [[Image:Icon-Mac-OS.png|alt=OS - OS X|24x24px|link=OS - OS X]]
|-
|-


|}
|}
<nowiki>*</nowiki> A direct USB connection would be plugging the Phidget into a USB port and using it locally.  This is the typical way to use a Phidget.  However, some platforms (such as the iPhone platform) do not have USB ports and hence can only use a Phidget over a network, via the [[Phidget Network Service]].
<nowiki>*</nowiki> Objective C has examples for all devices in macOS, but only some devices in iOS. If you're developing an Objective C program for iOS, we recommend that you use the existing examples while referencing the macOS examples for the devices that don't have iOS examples.
 
<sup>&dagger;</sup> Most languages have code samples for all Phidgets, but some have only some devices (visit the language page to learn which ones), and some only have an Interface Kit example. The Phidget Interface Kit is a common Phidget which provides an interface with analog sensors, digital input, and digital output.  So, when we choose which examples to write, the Interface Kit is often at the top of our customer's lists.
 
<span id="Honeycomb">[[Image:Icon-Android_Honeycomb.png|24px|link=]]</span>Android Honeycomb Version 3.1 or Higher Only

Revision as of 19:30, 4 July 2019

Language Support

We provide support for a variety of programming languages. Each language has code samples for you to use as well as an in-depth API for you to reference. If you aren't sure which language to use, we recommend using Python, because it is quick to learn.

Language Libraries Code Samples OS Support
C Sharp C# Quick Downloads All Devices OS - Windows OS - OS X OS - Linux
C C Quick Downloads All Devices OS - Windows OS - OS X OS - Linux
Python Python Quick Downloads All Devices OS - Windows OS - OS X OS - Linux
Java Java Quick Downloads All Devices OS - Windows OS - OS X OS - Linux OS - Android
javascript JavaScript Quick Downloads All Devices OS - Windows OS - OS X OS - Linux
Visual Basic .NET Visual Basic .NET Quick Downloads All Devices OS - Windows
Cocoa Swift Quick Downloads All Devices OS - OS XOS - iOS
ObjC Objective C Quick Downloads Some Devices* OS - OS XOS - iOS
LabVIEW LabVIEW Quick Downloads All Devices OS - Windows
Max/MSP Max/MSP Quick Downloads All Devices OS - Windows OS - OS X

* Objective C has examples for all devices in macOS, but only some devices in iOS. If you're developing an Objective C program for iOS, we recommend that you use the existing examples while referencing the macOS examples for the devices that don't have iOS examples.