Xojo

Xojo
Developer(s) Xojo, Inc.
Stable release Xojo 2015r4 / December 17, 2015 (2015-12-17)
Operating system Mac OS X, Microsoft Windows, Linux, iOS
Available in English, Chinese, Japanese
Type Programming
License Proprietary software (Commercial software or shareware)
Website xojo.com

The Xojo programming environment is developed and commercially marketed by Xojo, Inc of Austin, Texas for software development targeting Mac OS X, Microsoft Windows, x86 Linux, iOS, as well as the web and Raspberry Pi. Xojo uses a proprietary object-oriented BASIC dialect, also known as Xojo.[1][2]


History

In 1997 FYI Software, founded by Geoff Perlman, bought CrossBasic,[3][4][5] which had been marketed by its author Andrew Barry[6] as a shareware product. CrossBasic got its name from its ability to compile the same programming code for Mac OS and the Java virtual machine (although the integrated development environment was Mac only). A public beta was released in April 1996.[7][8] The CrossBasic name was trademarked by another company, so the product was renamed REALbasic.[9]

Prior to REALbasic version 2, the Java target was dropped and later replaced with a Windows target and database support.[10][11] Windows builds contained many bugs when finally released, and it was very difficult to write applications that ran on both Mac OS and Windows.[12] The option to compile for Linux[13] was added in 2005 and the IDE was ported to Windows and as a free public beta for Linux platforms. The new IDE sported a new user interface redesigned to more closely resemble Xcode.[14]

In 2004 REAL software announced the "Made with REALbasic Showcase" program to highlight applications created with the product.[15] In 2009, a migration assistant was launched to help move code from Visual Basic.[16] In 2010, to combat BASIC's poor reputation, REALbasic was renamed Real Studio.[17][18] Real Software also announced Real Studio Web Edition, allowing developers to compile web applications without the knowledge of multiple web technologies.[19]

On June 4, 2013 Real Software officially changed their name to Xojo, Inc. and Real Studio was renamed Xojo.[20] Also on this date they released Xojo 2013 Release 1 which included an all-new user interface, full support for Cocoa on OS X, improved support for web applications, all new documentation and a new "Introduction to Programming Using Xojo" textbook[21] that was designed for beginners to learn the fundamentals of object oriented programming.[22] Despite the multiple name changes, Xojo continues to be associated with the BASIC language,[23][24] and Xojo, Inc. calls it "the spiritual successor to Visual BASIC".[25]

The Xojo IDE is currently available for Microsoft Windows, Mac OS X, 32-bit x86 Linux,[26] and can compile 32-bit and 64-bit applications for Windows (Windows XP and higher), Mac OS X (running on Intel-based Macs using the Cocoa frameworks), x86 Linux, iOS, the web, and Raspberry Pi. Xojo is self-hosted: the Xojo IDE is built with the current release of Xojo.[27] The 2015r3 release includes 64-bit support for Desktop, Web and Console targets as well as a new platform, Raspberry Pi.[28] [29]

In 2016 Xojo was awarded the Big Innovation Award[30] from the Business Intelligence Group for being an "innovative" development tool that has "brought new ideas to life".

Example code

This example writes to a new text file:

Dim t as TextOutputStream
Dim f as FolderItem
f=GetSaveFolderItem(FileTypes1.Text,"Create Example.txt")
If f <> Nil then
 t=TextOutputStream.Create(f)
 t.WriteLine(TextField1.text)
 t.Close
End if

This example draws a triangle in a Canvas control. It is placed in the Paint event. The parameter g as Graphics is passed into this event:

Dim Points() as Integer
Points=Array(10,10,100,50,10,200,10,10)
g.ForeColor=RGB(100,200,255)
g.FillPolygon Points

The following code connects to a database and uses SQLExecute to insert a record into a table:

Dim dbFile As FolderItem
Dim db As New SQLiteDatabase
dbFile = GetFolderItem("Employees.sqlite")
db.DatabaseFile = dbFile
If db.Connect Then
  db.SQLExecute("BEGIN TRANSACTION")
  db.SQLExecute ("INSERT INTO Employees (Name,Job,YearJoined) VALUES "_
    +"('Dr.Strangelove','Advisor',1962)")
  If db.Error then
    MsgBox("Error: " + db.ErrorMessage)
    db.Rollback
  Else
    db.Commit
  End If
Else
  MsgBox("The database couldn't be opened. Error: " + db.ErrorMessage)
End If

XojoScript

XojoScript is a scripting language which is similar to, and shares many features with, Xojo. They are both object oriented, support modules and use almost identical datatypes (Xojo has some differences, mainly for compatibility with some C APIs). XojoScript is mainly used to script applications written with Xojo, and (from the 2006r1 version) is also used in the Xojo IDE.

Compared to the different scripting languages that can still be used with Xojo (thanks to the ability it offers to call C APIs), XojoScript can be better integrated into applications made with Xojo by the possibility it has to call the methods and to use the properties of the object passed to the script parser and compiler.

Example code

This sample code asks the host program for a number and doubles it:

Dim Value As Integer
Value = Val(Input("Which number?"))
Print(Str(Value*2))

It is up to the host program to decide how to implement the callback methods called from Input() and Print() - XojoScript just expects both methods to accept a string parameter, and the first method to return a string. Usually, the program would prompt the user presenting the string passed from the script, and returning the user input to the hosted script.

Current editions of IDE

The Xojo IDE is free to use for learning and development. Compiling or deploying applications with Xojo requires a license. Multiple license levels are available for purchase, enabling Desktop, Web and iOS. Licenses can be purchased a la carte, in any combination required. Also available is Xojo Pro, which is a bundle that includes added support, guaranteed beta program access, access to a special Xojo Pro-only forum, 3x Feedback multiplier when ranking support cases, access to consulting leads, and a license that will work on 3 machines.[31]

Unlike most programming environments, project source code is not stored in plain text files by default, but in a proprietary, single file format. However, source code can be saved to a plain-text format for use with version control systems and can be exported to XML format as well.

A Xojo license provides the ability to build with any version of Xojo released during the year the license is valid. When the license expires the user can continue to build with those versions but can't build with newer versions of Xojo until they renew their license.

Xojo Cloud

On March 11, 2014 Xojo launched Xojo Cloud, their cloud hosting service for Xojo web applications.[32]

See also

References

  1. Xojo (December 9, 2014). "Xojo, Inc. Announces Xojo 2014 Release 3; Includes Support For Developing Native iOS Applications". Xojo. Retrieved 2014-12-09.
  2. prMac (December 9, 2014). "Xojo Includes Support For Developing Native iOS Applications". prMac. Retrieved 2014-12-09.
  3. "REALbasic-NUG". lowendmac.com.
  4. "REALbasic development history of cross-platform development tools". databaseskill.com.
  5. "Yes, Virginia, There Is a REALbasic". tidbits.com.
  6. "REALbasic: The Definitive Guide".
  7. "Operator Headgap Web Conferencing". headgap.com.
  8. "CrossBasic: Shareware BASIC Environment".
  9. "Upgrade Guide" (PDF).
  10. "REALbasic 2.0 Shipping".
  11. "REALbasic 2.0 Standard Edition Review".
  12. "REALbasic University" (PDF). The Windows compiling feature isn't bug-free (to say the least), and it's quite complicated making a program that will run on both Windows and Mac OS.
  13. "Real Software on Linux". jupiter broadcasting.
  14. "REALbasic 2005 ships for Mac, WinXP, Linux". REALbasic 2005...sports a new UI that's more in tune with Apple's Xcode development environment than REALbasic 5
  15. "MacObserver".
  16. "REALbasic launches Visual Basic Migration Assistant".
  17. "Upgrade Guide" (PDF). ...hearing a development environment with the word "basic" in the name caused many of your colleagues’ eyes to roll...Some developers found they were no longer battling the reputation of BASIC while others were confused because we continued to call the language itself, REALbasic.
  18. "REALbasic Name".
  19. Frank, Ohlhorst (June 2011). "3 Tools to Accelerate Web Development". IDG. Retrieved 2011-06-17.
  20. Xojo (June 4, 2013). "Xojo Press Releases". Xojo. Retrieved 2013-06-08.
  21. Xojo (June 4, 2013). "Review: Xojo Book Download Page". Xojo. Retrieved 2013-06-04.
  22. Xojo (June 4, 2013). "Xojo Release Press Release". Xojo. Retrieved 2013-06-08.
  23. "Xojo considered harmful".
  24. "Xojo: A Linux development suite that doesn't really support Linux". So, when I say that Xojo, a RAD (Rapid Application Development) IDE that uses a syntax of BASIC, makes me want to gouge my eyeballs out with a dull spoon... you know it's not because I don't like BASIC. BASIC is fine by me. It's Xojo itself that makes me feel so anxious to inflict bodily harm on myself.
  25. "Xojo: Alternative to Visual Basic". Xojo is the spiritual successor to Visual Basic...the programming language will look very familiar to you
  26. Barr, Joe (August 4, 2005). "Review: REALBasic 2005 for Linux". Linux.com. Retrieved 2010-02-09.
  27. Xojo (December 9, 2014). "Xojo, Inc. Announces Xojo 2014 Release 3; Includes Support For Developing Native iOS Applications". Xojo. Retrieved 2014-12-09.
  28. "XDC 2015 Recap". May 6, 2015.
  29. "Xojo 2015 Release 3 Now Available Recap". October 20, 2015.
  30. "THESE 47 COMPANIES CONFIRM THAT THE BUSINESS OF INNOVATION IS FLOURISHING GLOBALLY". Business Intelligence Group. February 3, 2016. Retrieved February 3, 2016.
  31. Xojo (June 4, 2013). "Xojo Store Information". Xojo. Retrieved 2013-06-08.
  32. "Xojo Announces Xojo Cloud For Deployment Of Web Apps". Mac News. March 11, 2014. Retrieved 2014-03-13.

External links

This article is issued from Wikipedia - version of the Wednesday, April 06, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.