These convenient programming environments for iOS and Android tablet computers support Python and help you take your code on the road.
Ah, spring is in the air! And after a particularly brutal winter, many of us are eager to get out of the office and enjoy a change of scenery. Python developers who can program on lightweight, portable tablets can leave cubicle walls behind and work from almost anywhere. Isn’t the mobile life wonderful?
Pythonista claims to bring “the Zen of Python to your iPad or iPhone.” For less than the price of a pizza you can purchase Pythonista and start coding.
It’s also useful for newbies. If you aren’t a Python developer but would like to learn more about the popular Python scripting language, Pythonista is an affordable way to get started.
- Full-featured code editor that includes a built-in editor module so you can extend the app with your own commands.
- Libraries for 2D graphics, multi-touch, and sound. The app includes three example games and a multi-touch toy piano.
- An interactive prompt helps you with code completion and provides command history.
- Includes a Standard Library with modules for math, text processing, working with data from the Web, and more.
- Includes Python documentation, which is accessible from anywhere in the app.
- Click on sample code from the documentation; it opens in the editor.
- Export scripts as Xcode projects to build standalone iOS apps.
For a detailed description of Pythonista in action, read Automating iOS: How Pythonista Changed My Workflow, by Federico Viticci.
Figure 1: Check out the multi-touch toy piano code…
Figure 2: and then play a tune.
Python for iOS, developed by Jonathan Hosmer, isn’t as slick or feature-rich as Pythonista, but don’t let that turn you off. For less than a buck, Python for iOS offers a convenient Python programming environment with plenty of perks.
- Interactive interpreter
- Separate tab for writing and testing script files
- Syntax highlighting
- Save interpreter session as a script file to edit or run in the script editor tab
- Pop-up tips
- In-app Python documentation
Figure 3: An intuitive interface and pop-up tips make this affordable Python IDE one to consider.
CodeToGo supports a variety of programming languages, including Python. According to its iTunes download page, CodeToGo has been used to run more than a million programs.
- Example “Hello World!” programs for each supported language.
- Lets users write, save, and load code without an Internet connection; however, a connection is required in order to run code.
- Save and load files from Dropbox or transfer to-and-from a computer using iTunes File Sharing.
- An extra row of customizable keys is added to the default keyboard.
- “Goto line” button lets you type in a line number to jump to specific lines.
Figure 4: CodeToGo supports dozens of programming languages, including Python.
Although for i supports Python, user reviews are mixed and the most recent update (according to iTunes) was back in 2010. Some users complain that for i doesn’t handle large files well.
- Syntax highlighting
- Support from several languages, including Python
- Customizable fonts and colors
- A built-in Web server, which requires a Wi-Fi connection, lets you transfer files to and from the app.
- You can take snapshots of files and revert back at any time.
Gusto was created for Web development on the iPad. Web developers will like the convenient gallery of project thumbnails. According to customer reviews, the app has some crash problems, but overall it gets a good rating in iTunes.
- Website project thumbnails
- Project-driven workflow
- Syntax highlighting for several languages, including Python
- Tabbed editing
- Built-in FTP/SFTP client
- Built-in local and remote previewing
Figure 5: Thumbnails make identifying projects easy.
Koder is a code editor for iPad and iPhone, offers a variety of features, and supports a bunch of languages, including Python. The most recent update rolled out in March 2013 and added a download/upload folder for Dropbox Connection.
- Syntax highlighting for many languages, including Python
- Built-in snippet manager
- Previewer browser with Firebug support
- iTunes file-sharing support
- Dropbox support
Textastic is a popular iOS code and markup editor with support for more than 80 programming and markup languages.
- Syntax highlighting for dozens of languages, including Python
- FTP, FTPS, SFTP, WebDAV, and Dropbox client support
- Customizable fonts and font sizes
- Undo/redo, find/replace
- Character and word count file information
DroidEdit is a popular text and code editor for Android devices. In December 2012, Ars Technica included DroidEdit on its list of must-have Android apps. Although DroidEdit isn’t specifically intended for coding with Python, the language is supported.
- Undo, redo, search, and replace
- Auto and block indentation
- Ability to change between sessions and preview HTML files in a browser
- Character encoding support
- Pro version also includes Box, Dropbox, SFTP, FTP, and FTPS support; custom themes; run external commands through SSH; root mode
Figure 6: When it comes to Python coding on Android devices, DroidEdit is a good place to start.
Price: $1.99 (Pro version)
Although 920 Text Editor isn’t as popular as DroidEdit, it offers a lot of features for the affordable price of free.
- Shows line numbers and blank characters
- Automatic open file encoding detection
- Toolbar for quick access to create a new file, open, save, undo or redo, and frequently used symbols
- Recently opened file history
- Auto indentation
- Ability to run with root permissions
- Preview HTML files
Figure 7: 920 Text Editor is free and feature-packed.
Touchqode is an affordable mobile code editor for Android with decent documentation and tutorials. Like the other editors for Android, Touchquode isn’t specifically for Python coding, but does offer support.
- Integrated FTP and SFTP client
- Works as text editor
- Decent documentation
- Pro version also includes GitHub viewer client, additional special keys, ability to move left/right by swiping keyboard, bash support, file type recognition
About the author
Rikki Endsley writes for a variety of tech publications, is the community manager for USENIX, and is the managing editor of the association’s bi-monthly publication, ;login:. In the past, Rikki worked as the editor in chief of Ubuntu User magazine, associate publisher of Linux Pro Magazine, and managing editor of Sys Admin magazine. Follow her on Twitter at @rikkiends or visit rikkiendsley.com.
The State of Code Quality 2016
The State of Code Quality 2016 is an industry report designed to establish benchmarks for how organizations are developing and maintaining the quality of software in 2016.
The report includes insights from 600 software developers, testers, IT/operations professionals, and business leaders representing more than 30 different industries. Participants in the survey work on software teams ranging from less than five employees to more than 50 employees, and work for companies ranging from small businesses, with less than 25 employees, to enterprise organizations, with 10,000 employees or more.
The following report will cover:
- Perceptions on Code Quality
- Approaches to Code Review
- Code Review Tools and Decision Making
- Software Development Tools