Phidget22: Difference between revisions

From Phidgets Support
(Created page with " Phidget22 is the newest version of the Phidget software libraries. All pages in the documentation area of our website (including User Guides, Primers...")
 
No edit summary
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
__NOTOC__


Phidget22 is the newest version of the Phidget software libraries. All pages in the documentation area of our website (including [[User Guides]], [[:Category:Primer|Primers]], and [[Software Overview|Software Documentation]]) will assume you're using Phidget22. If you want to view the Phidget21 version of any page, just click on the [[Image:toPhidget21.jpg|100px|link=]] button at the top-right corner of the page. You can view the main page of the Phidget21 version of the documentation [{{SERVER}}/docs21/Main_Page here].  
Phidget22 is the newest version of the Phidget software libraries (you can download the latest version of Phidget22 on your [[Operating_System_Support|operating system]]'s page). All pages in the documentation area of our website (including [[User Guides]], [[:Category:IntroGuide|Introductory Guides]], and [[Phidget Programming Basics|Software Documentation]]) will assume you're using Phidget22. If you want to view the Phidget21 version of any page, just click on the [[Image:toPhidget21.jpg|100px|link=]] button at the top-right corner of the page. You can view the main page of the Phidget21 version of the documentation [{{SERVER}}/docs21/Main_Page here].  


The main differences between Phidget21 and Phidget22 are the [[#Modular_Objects|structure]] of the software objects, the [[#Languge_Support|languages]] that are supported, and the [[#API_Consistency|consistency]] of the API.


=== Modular Objects ===
=== Modular Objects ===


In Phidget21, each device had it's own software object in the library. For example, The [{{SERVER}}/products.php?product_id=1018 1018 - PhidgetInterfaceKit] used the {{Code|InterfaceKit}} object, which contained methods and properties for all aspects of the 1018: the Digital Outputs, Digital Inputs, and Analog Inputs.
[[Image:1018_objects_21.jpg|350px|link=|alt=]] [[Image:boldarrow.jpg|link=|100px]] [[Image:1018_objects.jpg|350px|link=|alt=]]
In Phidget22, we've broken up these large objects into a more modular system. This modularity is mirrored by the modular design of our [[What_is_VINT?|VINT]]-based Phidgets. Updating your existing programs that use Phidget21 will be straightforward when you follow our [[Upgrading_Code_from_Phidget21_to_Phidget22|upgrading]] guide.


=== Language Support ===
=== Language Support ===
Line 18: Line 27:
|[[Image:Icon-CSharp.png|alt=C Sharp|24x24px|link=Language - C Sharp]] [[Language - C Sharp|C#]] || [[Image:Icon-ObjC.png|24x24px|alt=Objective C|link=Language - Objective C]] [[Language - Objective C|Objective C]] || [[Image:Icon-LabVIEW.png|alt=LabVIEW|24x24px|link=Language - LabVIEW]] [[Language - LabVIEW|LabVIEW]]
|[[Image:Icon-CSharp.png|alt=C Sharp|24x24px|link=Language - C Sharp]] [[Language - C Sharp|C#]] || [[Image:Icon-ObjC.png|24x24px|alt=Objective C|link=Language - Objective C]] [[Language - Objective C|Objective C]] || [[Image:Icon-LabVIEW.png|alt=LabVIEW|24x24px|link=Language - LabVIEW]] [[Language - LabVIEW|LabVIEW]]
|-
|-
|[[Image:Icon-C++.png|alt=C/C++|24x24px|link=Language - C/C++]] [[Language - C/C++|C/C++]] || |[[Image:Icon-Swift.png|alt=Swift|24x24px|link=Language - Swift]] [[Language - Swift|Swift]] || |[[Image:Icon-MaxMSP.png|24x24px|alt=Max/MSP|link=Language - Max/MSP]] [[Language - Max/MSP|Max/MSP]]
|[[Image:Icon-C.png|alt=C|24x24px|link=Language - C]] [[Language - C|C]] || |[[Image:Icon-Swift.png|alt=Swift|24x24px|link=Language - Swift]] [[Language - Swift|Swift]] || |[[Image:Icon-MaxMSP.png|24x24px|alt=Max/MSP|link=Language - Max/MSP]] [[Language - Max/MSP|Max/MSP]]
|-
|-
|[[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]]
Line 30: Line 39:
|}
|}


=== Language Consistency ===
Each of these languages are fully supported with API documentation, sample code, and step-by-step guides.
 
=== API Consistency ===
[[Image:API_example.jpg|right|link=|360px]]
 


In Phidget21, our libraries and the corresponding API documentation varied greatly from language to language.  It was our goal in Phidget22 to make things as consistent as possible between languages so it would be easier for users to switch back and forth without running into differences. Our software libraries for core languages and {{Phidget22API| API documentation}} are now generated from a single source.
In Phidget21, our libraries and the corresponding API documentation varied greatly from language to language.  It was our goal in Phidget22 to make things as consistent as possible between languages so it would be easier for users to switch back and forth without running into differences. Our software libraries for core languages and {{Phidget22API| API documentation}} are now generated from a single source.
<br clear="all">
=== Further Reading ===
* [[What is a Phidget?]]
* [[What is VINT?]]
* [[Upgrading Code from Phidget21 to Phidget22]]
* [{{SERVER}}/docs21/Main_Page Documentation site for Phidget21]

Latest revision as of 17:05, 1 June 2023


Phidget22 is the newest version of the Phidget software libraries (you can download the latest version of Phidget22 on your operating system's page). All pages in the documentation area of our website (including User Guides, Introductory Guides, and Software Documentation) will assume you're using Phidget22. If you want to view the Phidget21 version of any page, just click on the ToPhidget21.jpg button at the top-right corner of the page. You can view the main page of the Phidget21 version of the documentation here.

The main differences between Phidget21 and Phidget22 are the structure of the software objects, the languages that are supported, and the consistency of the API.

Modular Objects

In Phidget21, each device had it's own software object in the library. For example, The 1018 - PhidgetInterfaceKit used the InterfaceKit object, which contained methods and properties for all aspects of the 1018: the Digital Outputs, Digital Inputs, and Analog Inputs.


Boldarrow.jpg


In Phidget22, we've broken up these large objects into a more modular system. This modularity is mirrored by the modular design of our VINT-based Phidgets. Updating your existing programs that use Phidget21 will be straightforward when you follow our upgrading guide.

Language Support

Support for programming languages has changed slightly since Phidget21. The following languages are currently supported under Phidget22:

Core Languages Mobile Languages Other Languages
C Sharp C# Objective C Objective C LabVIEW LabVIEW
C C Swift Swift Max/MSP Max/MSP
Python Python
Java Java
Visual Basic .NET Visual Basic .NET
JavaScript JavaScript

Each of these languages are fully supported with API documentation, sample code, and step-by-step guides.

API Consistency

API example.jpg


In Phidget21, our libraries and the corresponding API documentation varied greatly from language to language. It was our goal in Phidget22 to make things as consistent as possible between languages so it would be easier for users to switch back and forth without running into differences. Our software libraries for core languages and Phidget22 API are now generated from a single source.

Further Reading