Mac Programming

Desktop Software Development on the Mac

XOJO REAL Studio rapid application development environment
Single source base, three target platforms, plus target the web with few restrictions.
A very productive software development environment. Most of the software I wrote that is available on my web site was written in Xojo. Clearly the easiest way to port to these four platforms: Macintosh OS X, Windows, Linux, and the web. Runs on Macintosh OS X, Linux, and Windows.
http://www.realsoftware.com/realstudio/

Here are a few WEB resources for Xojo programmers.

Xojo online manual
http://docs.xojo.com/index.php/Main_Page

Monkeybread Software’s Xojo plug-ins
This massive collection of plugins includes Audio, USB HID, Macintosh specific Cocoa features, Dongle support, CUPS printing, CURL connectivity (ftp, ftps, http, https, gopher, telnet…), Java, image support, and more.
http://www.monkeybreadsoftware.de/realbasic/plugins.shtml

Arbed – The Advanced RB Editor for Xojo
Multiple project searching, comparison. HTML listings. Localization support.
http://www.tempel.org/

Real OOP with REALbasic
http://relevantlogic.com/oop-book/about-the-oop-book.php

RBLibrary.com  Many small, inexpensive books
http://www.rblibrary.com/

OSXWare  RealBasic links and classes
http://www.osxware.com/resources/index.html

Bob Delaney’s Science Software
Some very nice Xojo classes and examples. Macintosh OS X, Windows, and some Linux.
http://delaneyrm.com/

Roger Meier’s Open-Source Projects
Some very nice Xojo projects including complex numbers and FFTs. Macintosh OS X, Linux, and Windows.
http://opensource.the-meiers.org/

FTDI USB Controller D2XX Interface
These REALbasic classes allow interface to the direct D2XX drivers. Macintosh OS X, Linux, and Windows.
http://www.1710.co.uk/cms/programming/24-realbasic-classes/26-ftdi-usb-controller-d2xx-interface

VTC’s Video Tutorials for REAL Studio
http://www.vtc.com/products/Real-Studio-Tutorials.htm

Charcoal Design
http://www.charcoaldesign.co.uk/source/realbasic

MacTechnologies Consulting download page
http://www.mactechnologies.com/index.php?page=downloads

mac dylib bundler
dylibbundler is a small command-line programs that aims to make bundling .dylibs as easy as possible. It automatically determines which dylibs are needed by your program, copies these libraries inside the app bundle, and fixes both them and the executable to be ready for distribution. Macintosh OS X only.
http://macdylibbundler.sourceforge.net/

Quaqua
Quaqua is a user interface library for Java applications which wish to closely adhere to the Apple Human Interface Guidelines for Mac OS X.
Macintosh OS X.
http://www.randelshofer.ch/quaqua/index.html

Jack OS X
Jack (the Jack Audio Connection Kit) is a low-latency audio server. It can connect any number of different applications audio or MIDI to a single hardware audio device or other application’s audio input.
Macintosh OS X, iOS, Linux, and Windows.
http://www.jackosx.com/

Shadow Lab’s Sdef Editor
Sdef Editor is a “Scripting Definition File Editor”. If you are developer, and you want that your application be scriptable, you have to write a AppleScript dictionary, or terminology.
Macintosh OS X only.
http://www.shadowlab.org/Software/sdefeditor.php

Python
Python is pre-installed on Mac OS X. It is popular with instrument automation. See my page with examples of instrument automation. Macintosh OS X, UNIX, Linux, and Windows.
Documentation:
http://docs.python.org/

Serial Port Software/Drivers/Information
Tools and information for writing software using serial ports. Macintosh OS X only.
Serial Manager Cocoa class:
http://www.w7ay.net/chen/Software/index.html
Information on termios() for detecting break characters, framing errors, and parity errors:
http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man4/termios.4.html
Apple’s serial port sample code:
http://developer.apple.com/library/mac/#samplecode/SerialPortSample/Introduction/Intro.html
Serial Tools from W7AY
http://www.w7ay.net/site/Applications/Serial%20Tools/index.html
Serial port support for Java
http://blog.iharder.net/2009/08/18/rxtx-java-6-and-librxtxserial-jnilib-on-intel-mac-os-x/

Prefab’s UI Actions
Greatly enhance your control over applications running on your computer. Macintosh OS X only.
http://prefabsoftware.com/uiactions/

FutureBasic
Basic Compilier/Editor. Free. Macintosh OS X only.
http://www.stazsoftware.com/futurebasic/index.php

Apple’s X-Code developer tools
Even though you may not be developing using X-Code, there are many useful tools here, like FileMerge (File diff and merging), USB Prober, and Bluetooth tools. Macintosh OS X only.
http://developer.apple.com/devcenter/mac/index.action
Additional stuff:
http://xcode.tips.onemac.net

Spice for Xcode
Spice is a Source Component Manager for Xcode enabling easy re-use of code between projects. Macintosh OS X only.
https://developer.apple.com/library/mac/#documentation/Performance/Conceptual/vecLib/Reference/reference.html

vecLib
Apple’s 128 bit vector library. Macintosh OS X only.
https://developer.apple.com/library/mac/#documentation/Performance/Conceptual/vecLib/Reference/reference.html

Qt
Qt is a cross-platform application and UI framework for Embedded Linux, Mac OS X, Windows, Linux/X11, Windows Mobile, Windows CE, Symbian, Maemo and MeeGo.
http://qt-project.org/
http://qt.digia.com/

Intel Compilers for OS X
Intel C++ and Fortran compilers. Macintosh OS X, Linux, and Windows.
http://software.intel.com/en-us/articles/intel-software-development-products-for-mac-os-x/

wxWidgets
wxWidgets is a C++ library that lets developers create applications for Windows, OS X, Linux, Mac OS X, and UNIX on 32-bit and 64-bit architectures as well as several mobile platforms including Windows Mobile, iPhone SDK and embedded GTK+
http://www.wxwidgets.org/

CodeLite
CodeLite is an open-source, cross platform IDE for the C/C++ programming languages. Macintosh OS X, Linux, and Windows.
http://www.codelite.org/

HID API for USB and Bluetooth in C
HIDAPI is a multi-platform library which allows an application to interface with USB and Bluetooth HID-Class devices. Macintosh OS X, Linux, and Windows.
http://www.signal11.us/oss/hidapi/

Apple’s USB development support
Debug releases of the IOUSBFamily kernel extension are used to provide information about USB device and interface detection, driver and interface matching, driver loading and information generated as a result of normal and abnormal conditions. You will need to log in first.
http://developer.apple.com/hardwaredrivers/download/usbdebug.html
USB development technical Q&A
http://developer.apple.com/library/mac/#qa/qa1370/_index.html
Cypress has some nice application notes for writing USB software on OS X:
http://www.cypress.com/?rID=12929
http://www.cypress.com/?rID=59674

Accelerated Math Libraries in OS X
Vector instruction set extensions to the PowerPC and Intel architectures known as AltiVec and SSE respectively, the Accelerate umbrella framework, its constituent libraries and programming support in Mac OS X. Macintosh OS X only.
http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man7/vBigNum.7.html

NAG Fortran Compiler
The NAG Fortran Compiler is robust, highly tested, and valued for its checking capabilities and detailed error reporting. Support for quadruple precision REAL and COMPLEX numbers. You must email for price. Macintosh OS X, UNIX, Windows, and Linux.
http://www.nag.co.uk/nagware/np.asp

GNU gfortran Compiler
gfortran is the new gnu fortran compiler, which attempts to follow the fortran95 standard. As such, it should be backward compatible with fortran77 and fortran90. It also promises to attempt following future fortran standards, such as fortran2003. gfortran replaces the gnu g77 compiler and is included with gnu compiler collection (gcc) 4.0 and higher. Macintosh OS X, Linux, and Windows.
Mac OS X installation:
http://www.webmo.net/support/fortran_osx.html
Additional information here:
http://www.w7ay.net/site/Applications/cocoaNEC/Contents/NEC4/gfortran.html

Chipmunk Basic
Chipmunk Basic is a interpreter for the Basic Programming Language. Chipmunk Basic presents a vintage traditional command-line console programming environment, and supports a very simple Basic Programming Language syntax. Macintosh OS X, Linux, and Windows.
http://www.nicholson.com/rhn/basic/

Mathtools.net
Link exchange of math, algorithms, analysis, and utilities.
http://www.mathtools.net/C_C__/index.html

BullseyeCoverage
BullseyeCoverage is the leading C++ code coverage analyzer in usability, reliability. Supports both Desktop and Embedded targets. Macintosh OS X, UNIX, Linux, and Windows.
http://www.bullseye.com/

Interface to USB devices
Phidgets makes a number of USB interface devices. Macintosh OS X, UNIX, Linux, and Windows.
http://www.phidgets.com/
Macintosh OS X, BSD, Linux, and Windows library:
http://libphidgets.alioth.debian.org/

Cocoa Packet Analyzer
A network protocol analyzer and packet sniffer. It supports the industry-standard PCAP packet capture format for reading, capturing and writing packet trace files. Macintosh OS X Only.
http://www.tastycocoabytes.com/cpa/index.php

Mathomatic Portable command-line computer algebra system
A text-mode, floating point and symbolic math application and library suitable for desktops, handhelds, and embedded systems. Supports Macintosh OS X, iPhone, Windows, and Linux.
http://www.scilab.org/

IDA
IDA is a multi-processor disassembler and debugger. Macintosh OS X, Linux, and Windows.
http://www.hex-rays.com/products/ida/

Hopper
Hopper is a reverse engineering tool for OS X, that lets you disassemble, decompile and debug your 32/64bits Intel Mac, Windows and iOS executables!. Macintosh OS X only.
http://www.hopperapp.com/

Mac OS Forge blog
Mac OS Forge is dedicated to supporting the developer community surrounding open source components specific to Mac OS X.
http://old.nabble.com/Mac-OS-Forge-f22105.html

Perforce
Software version management software. Macintosh OS X, Linux, UNIX, and Windows.
http://www.perforce.com/products/perforce

Cornerstone
Software version management software for Subversion. Macintosh OS X only.
http://www.zennaware.com/cornerstone/

SmartSVN
SmartSVN supports Subversion 1.6, 1.7 and the recent 1.8 release, accounting for changes in the working copy format, client-server protocol as well as virtually all Subversion commands, including many extended options. Macintosh OS X, Linux, and Windows.
http://www.wandisco.com/smartsvn/home

Doxygen
A documentation system for C++, C, Java, Objective-C, Python, IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some extent D. Macintosh OS X, Linux, and Windows.
http://www.stack.nl/~dimitri/doxygen/index.html
Doxygen works with Dot, part of Graphvis, and produces graphic call/function dependency diagrams.
http://www.graphviz.org/

Rodin
Open tool platform for the cost effective rigorous development of dependable complex software systems services. This platform is based on the event-B formal method and provides natural support for refinement and mathematical proof. Macintosh OS X, Linux, and Windows.
http://sourceforge.net/projects/rodin-b-sharp/

Libmpsse
Libmpsse is a library for interfacing with SPI/I2C devices via FTDI’s FT-2232 family of USB chips. Based around the libftdi library, it is written in C and includes a Python wrapper courtesy of swig. I2C master mode and SPI modes 0 and 2 (partial support for modes 1 and 3). Simple API for both C and Python. Control of up to 12 GPIO pins (4 input/output, 8 others output only)  Macintosh OS X and Linux.
http://code.google.com/p/libmpsse/

Chapel
Chapel is an emerging parallel programming language whose design and development are being led by Cray Inc. in collaboration with academia, computing labs, and industry. Chapel’s goal is to improve the productivity of parallel programmers, from the largest-scale supercomputers to commodity clusters and multicore desktops and laptops. Macintosh OS X, UNIX, Linux, and Windows.
http://sourceforge.net/projects/chapel/

QB64
Compiles old Quick Basic 4.5 code. Macintosh OS X, Linux, Android, and Windows.
http://www.qb64.net/

AppleScript related stuff

Tutorials
10 part tutorial for Applescript. Macintosh OS X only.
http://www.macresearch.org/applescript_tutorials

Phidgets
Many USB sensor, input, and output boards. Boards include LCD Displays, Motors, Relays, and Sensors including Distance, Encoders, FSR, Gas Pressure, Light/Sound, Load Cells, Motion, pH/ORP, Potentiometers, Proximity, Temperature/Humidity, and Touch. AppleScript and many other language/platforms supported.
http://www.phidgets.com/

Script Debugger
Supports every phase of script creation is supported. Application Exploration, Script Editing, Debugging and Deployment. Macintosh OS X only.
http://www.latenightsw.com/

System Events and Mavericks
Instructions for enabling GUI scripting under Mavericks . Macintosh OS X only.
http://macosxautomation.com/mavericks/guiscripting/index.html

Property List Tools
The Property List Tools Scripting Addition allows AppleScript to load and store Mac OS X Property Lists. It also allows you to export any AppleScript data structure to a property list. Macintosh OS X only.
http://www.latenightsw.com/freeware/property-list-tools/

List & Record Tools
The List & Record Tools Scripting Addition allows AppleScript to perform set logic on AppleScript lists and to manipulate the contents of AppleScript records. With List & Record Tools you can dynamically access record properties not known at compile-time. Macintosh OS X only.
http://www.latenightsw.com/freeware/list-record-tools/

XML Tools
The XML Tools AppleScript Scripting Addition allows AppleScript to parse and generate XML data. XML Tools’s parsing can generate a complete DOM-like structure or it can operate in a SAX-like event handling mode. Macintosh OS X only.
http://www.latenightsw.com/freeware/xml-tools/

SerialPortX
Scripting Addition to allow access to an internal modem or standard serial ports. Current version has support for reading and setting hardware handshake lines. Macintosh OS X only.
http://alteredhorizons.capnix.com/MacSoft.html

MacSpice 3f5
Spice maintained and augmented by Charles D. H. Williams of the University of Exeter’s School of Physics. DesignWorks has a design kit that supports MacSpice 3f5. AppleScript support. Macintosh OS X only.
http://www.macspice.com/

Smile
A great tool for creating AppleScript Dictionaries for for developers writing scriptable applications. XML document support. Strong graphics support and data visualization. Control RS232 serial communications and electrical I/O devices. Macintosh OS X only.
http://www.satimage.fr/software/en/index.html

Prefab’s UI Browser
This is the ultimate assistant for Apple’s AppleScript GUI Scripting and Accessibility technologies. To make full use of Apples System Events, this is a must. Macintosh OS X only.
http://pfiddlesoft.com/uibrowser/

AppleScripting Microsoft’s Office Software
Mactech put together this great online book covering all the details. Macintosh OS X only.
http://www.mactech.com/vba-transition-guide/

Tex-Edit – AppleScriptable text editor
A very flexible, scriptable text editor. The AppleScript support is second to none. Tex-Edit also is AppleScript recordable. There is a huge archive of AppleScripts for many solutions. Version 4.9.11 is now fully Mac OS X 10.7 compatible. Macintosh OS X only.
http://tex-edit.com/
You can find a collection of AppleScripts for Tex-Edit Here:
http://www.dougscripts.com/texedit/index.php

TextWrangler – AppleScriptable text editor
A free text editor with many features including syntax coloring. AppleScriptable. Macintosh OS X only.
http://www.barebones.com/products/textwrangler/
Links to other language Modules for syntax coloring (including VHDL and Verilog)
http://www.barebones.com/support/bbedit/plugin_library.html

Shadow Lab’s Sdef Editor – required to make applications AppleScriptable
Sdef Editor is a “Scripting Definition File Editor”. If you are developer, and you want that your application be scriptable, you have to write a AppleScript dictionary, or terminology.
Macintosh OS X only.
http://www.shadowlab.org/Software/sdefeditor.php

EvoCam
Scriptable application to capture video or pictures from iSight or other cameras. Supports multiple cameras, web site updates, overlays, and more. Macintosh OS X only.
http://www.evological.com/evocam.html

MullenSight
Scriptable application to capture pictures from iSight or other cameras. Free. Macintosh OS X only.
http://www.mulle-kybernetik.com/software/MulleSight/

Many AppleScript tools
AppleScript to HTML, iTunes to HTML, save Terminal directories. Free. Macintosh OS X only.
http://www.fromconcentratesoftware.com/Applescripts/index.php

Mac OS X Automation
AppleScript dedicated web site.
http://www.macosxautomation.com/

Audio Test 2.0
Signal Generator. Wave types: sine wave, triangle wave, sawtooth wave, square wave, pulse wave, anti-aliased sawtooth wave, anti-aliased square wave, anti-aliased pulse wave, uniform distribution white noise, pink noise, brown noise, and Gaussian distribution white noise. Frequency and amplitude sweeps: fixed, linear , and logarithmic. AppleScript support. Macintosh OS X only.
http://www.katsurashareware.com/pgs/audiotest.html
Purchase it on the App Store

VUWER
VUWER (pronounced like “viewer”) is an application designed to remotely track your Mac in the event that it is lost or stolen.
http://stumpy.vuse.vanderbilt.edu/VUWER.htm

Script Bundle Tool
Script Bundle Tool creates an application bundle from an editable AppleScript source file and a contents folder.
http://lutherfuller.com/Script_Bundle_Tool.html

iMathGeo
Features include typographical engine, formal calculation, graphics, automation through Applescript. Macintosh OS X only.
http://www.imathgeo.com/Presentation-en.html

Many AppleScriptable applications
DesignWorks – Not AppleScriptable itself, but the report generator can create and launch AppleScripts.
Google EarthI use this in my model rocketry range safety manager software.
Fetch for file transfer, AppleScript recordable too.
EE Tool Kit
USB Scale
CoolTerm
XTension
ZephIR
MacWise terminal emulation

… and thousands more.

Image Editing software for the Mac

ImageJ Image Editor
Free.  Java based image editing from the NIH. Java for all machines.
http://rsb.info.nih.gov/ij/

Micro-Manager for Microscope control
Free.  Java based microscope control software based on ImageJ. Java for all machines.
http://valelab.ucsf.edu/~MM/MMwiki/index.php/Micro-Manager%20Project%20Overview

Graphic Converter
Shareware.  Converts between many graphic formats. Macintosh OS X only.
http://www.lemkesoft.com/xd/public/content/index._cGlkPTE5Mw_.html

USB Microscope
Celestron USB Microscope with 1280 x 1024 resolution. Up to 150x magnification with a 19” monitor. Mac and Win.
http://www.celestron.com/c3/product.php?ProdID=781

DSLR Remote Pro for Mac
Remotely control Canon DSLR cameras. Macintosh OS X only.
http://www.breezesys.com/DSLRRemotePro4Mac/index.htm

RMagick
RMagick is an interface between the Ruby programming language and the ImageMagick® and GraphicsMagick image processing libraries.
http://rmagick.rubyforge.org/

QCapture Suite PLUS and QCam
QCapture Suite PLUS includes several features including stream acquisitions, time-lapse acquisitions, scale bars, and flat-fielding. Macintosh OS X and Windows.
http://www.qimaging.com/support/downloads/#qcapture-suite-plus-installer

Ipe extensible drawing editor
Ipe is a drawing editor for creating figures in PDF or (encapsulated) Postscript format. It supports making figures for inclusion into LaTeX-documents as well as making multi-page PDF presentations. Features include Entry of text as LaTeX source code. This makes it easy to enter mathematical expressions, and to reuse the LaTeX-macros of the main document. Users can provide ipelets (Ipe plug-ins) to add functionality to Ipe. This way, Ipe can be extended for each task at hand.. Macintosh OS X, UNIX, Linux, and Windows.
http://ipe7.sourceforge.net/

yED
yEd is a diagram editor that can be used to quickly and effectively generate high-quality drawings of diagrams. Macintosh OS X, Linux, and Windows.
http://www.yworks.com/en/products_yed_about.html

Other Cool Mac stuff

ZephIR
IR remote control interface. Macintosh OS X only.
http://www.thezephir.com/ZephIR/Home.html

IRTrans
IR remote control interface. Macintosh OS X, Linux, and Windows.
http://www.irtrans.com/en/multimedia/
iRed Software:
http://www.filewell.com/iRed/

Voyager
View the heavens on your computer from any place on Earth, in the Solar System, or beyond. Witness celestial events thousands of years in the past or future. Macintosh OS X and Windows.
http://www.carinasoft.com/

EvoCam
EvoCam can publish a webcam with streaming video, view and record video from network cameras and video servers, create time lapse movies, and more. Macintosh OS X only.
http://www.evological.com/evocam.html

LensForge
Lens design software. Macintosh OS X only.
http://www.ripplon.com/LensForge/index.html

BabelColor
Color measurement and analysis.
http://www.babelcolor.com/

BioVision Technologies
Image capture and analysis hardware and software. Macintosh OS X and Windows.
http://www.biovis.com/

QtiPlot
QtiPlot is a professional scientific data analysis and visualization solution. Macintosh OS X, Linux, and Windows.
http://soft.proindependent.com/qtiplot.html

Cross Over Mac
Codeweaver’s version of Wine. Runs many Windows applications without Windows installed.
http://www.codeweavers.com/

HID API
HIDAPI is a multi-platform library which allows an application to interface with USB and Bluetooth HID-Class devices. Macintosh OSX, Linux, and Windows.
http://www.signal11.us/oss/hidapi/

macports Installing with Lion
Installation tips under Lion. Make sure you have installed the latest Xcode before doing this procedure, a free download from the App Store. Macintosh OS X only.
http://mac-and-i.blogspot.com/search/label/tutorials

Homebrew
UNIX package manager for OS X. Can replace macports. Very easy to use. Macintosh OS X only.
http://mxcl.github.com/homebrew/

Eclipse Hex Editor Plugin
EHEP is an Eclipse plugin, which allows user to view or modify any file in hex mode. Plugin provides table with hex and character view of the file. Macintosh OS X, Linux, and Windows.
http://ehep.sourceforge.net/

Multi-Platform Development Tools

XOJO (REAL Studio) rapid application development environment
Single source base, three target platforms, plus target the web with few restrictions.
A very productive software development environment. Most of the software I wrote that is available on my web site was written in REAL Studio. Clearly the easiest way to port to these four platforms: Macintosh OS X, Windows, Linux, and the web. Runs on Macintosh OS X, Linux, and Windows.
http://www.realsoftware.com/realstudio/

Qt
Qt is a cross-platform application and UI framework for Embedded Linux, Mac OS X, Windows, Linux/X11, Windows Mobile, Windows CE, Symbian, Maemo and MeeGo. See CodeLite for the IDE.
http://qt.nokia.com/

Python
Python is pre-installed on Mac OS X. It is popular with instrument automation. See my page with examples of instrument automation. Macintosh OS X, UNIX, Linux, and Windows.
Documentation:
http://docs.python.org/

Enthought Python Distribution
Free and pay versions. Python based tools to perform rigorous data analysis and visualization for scientific applications. Macintosh OS X, Linux, and Windows.
https://www.enthought.com/products/epd/

Enthought Canopy
Free and pay versions. Same features as Enthought Python Distribution above and adds a new analysis environment for scientists, analysts and engineers. Macintosh OS X, Linux, and Windows.
https://www.enthought.com/products/canopy/

wxWidgets
wxWidgets is a C++ library that lets developers create applications for Windows, OS X, Linux, Mac OS X, and UNIX on 32-bit and 64-bit architectures as well as several mobile platforms including Windows Mobile, iPhone SDK and embedded GTK+
http://www.codelite.org/

NAG Fortran Compiler
The NAG Fortran Compiler is robust, highly tested, and valued for its checking capabilities and detailed error reporting. Support for quadruple precision REAL and COMPLEX numbers. You must email for price. Macintosh OSX, UNIX, Windows, and Linux.
http://www.nag.co.uk/nagware/np.asp

Embarcadero RAD Studio XE3
Includes Delphi®, C++Builder®, Embarcadero Prism™, and HTML5 Builder for a complete tool chain for applications on Windows 8, Mac, .NET, Web and mobile.
http://www.embarcadero.com/products/rad-studio

Versions
Subversion client for OS X.
http://www.versionsapp.com/

IDA
Multi platform disassembler and debugger. Macintosh OS X, Linux, and Windows.
https://www.hex-rays.com/products/ida/index.shtml

Author: admin on April 22, 2014
Category:

Leave a Reply