如何在iPad Pro上用Intellij IDEA写代码
前面我写了一篇《如何用iPad Pro写代码》,看评论感觉大家不是很满意,这次晒出大绝招,大家心心念念的Intellij IDEA可以在iPad Pro上运行啦,惊不惊喜,意不意外。
不仅支持Intellij IDEA,而且支持WebStorm、Goland、PhpStorm、PyCharm、GoLand等全家桶。真是太棒了!
前提,需要一台支持安装了git和docker(18.09或更高)的机器,很显然Windows、macOS、Linux都支持,当然我推荐使用无界面的Linux环境,这样既能稳定运行、性能高、能耗低,要是图形界面的话我们大可以直接远程连接,这样本文就失去意义了。

安装
用git下载JetBrains的projector-docker项目git clone https://github.com/JetBrains/projector-docker.git
编辑build-container.sh文件,使用最新的Intellij IDEA
downloadUrl=${2:-https://download.jetbrains.com/idea/ideaIC-2020.2.4.tar.gz}
编辑run-container-mounted.sh,配置本地磁盘到docker,/volume1/docker/projector-docker为本地目录,请根据你的需要配置。
docker run --rm -p 8887:8887 -v /volume1/docker/projector-docker:/home/projector-user -it "$containerName" bash -c "./run.sh"
管理员执行命令下载projector-core源码
./clone-projector-core.sh
管理员执行命令编译docker容器
./build-container.sh管理员执行命令运行容器
./run-container-mounted.sh
iPad Pro浏览器访问
访问http://192.168.101.3:8887.








想在iPad上写代码?这几款app不可少
iPad作为一个我们可以方便携带的便携设备,有着比笔记本更灵活的使用场景。如果能用iPad来写代码的话,对于很多朋友来说相信都是一大好消息。下面推荐几款能够在iPad上编写和运行python程序的app,当然也有介绍能够运行多种语言的app,希望给想在iPad上编程的朋友带来帮助。大家也可以推广到其他编程语言,寻找合适的app!
本文会以在 iPad上写python代码为主,依次介绍carnets、pythonista和code app等几款软件,也会给大家介绍几款提升iPad上写代码效率的工具。但是本文介绍的几款app中,不止有python的编译器,也有可以编译运行多种不同语言的app,还会推广涉及到远程编译的方法以实现多种不同语言的编译运行,其中本人觉得最好用的code app放在最后讲解,也是可以编译和运行语言种类最多的app,一定要看到最后噢!!
一、carnets(免费,仅支持python)
简介
carnets是一款基于jupyter 的python编译器,在app store里面搜索carnets,会出现两个版本,一个为carnets-jupyter ,另一个为carnets-jupyter(with scipy) ,它们之间区别在于 with scipy版本加入了scipy、sklearn、seaborn以及coremltools这几个库,对于需要用python从事科研的朋友很有用。此外,也支持安装一些纯python的第三方库。


carnets-jupyter(with scipy)还支持notebook和jupyterlab的切换 。但是缺点在于占用内存空间更大 (1.6G,对比之下标准版本为1.1G)
具体使用介绍(以scipy版本为例)
首先打开app,点击creat document,就会自动创建一个Untitled.ipynb文件并打开

可以看到,界面与电脑上的jupyter notebook是几乎一样的,操作方法也与电脑上的版本类似。
我们点击左上角的文件,再点击打开,就能来到文件管理界面


再点击Nbextension,我们就能看到jupyter notebook的插件功能,和电脑上是完全一致的,把上面的勾选关掉,就可以使用插件功能了。

除此之外,在系统设置里面,可以更改语言设置,也可以更改文件储存位置等,也可以在distribution里面把软件界面设置成retrolab,点击view再点击open jupyterlab,我们就能打开jupyterlab的界面,在iPad上使用jupyterlab进行编程。




其余的使用与电脑端类似,可以参考电脑端jupyter的使用方法。
简单测试
我们简单跑一下代码,以及尝试装一个纯python的第三方库

总结
总的来说,carnets很好解决了在iPad上使用python进行编程的问题,并且支持许多热门的第三方库,如numpy、matplotlib、pandas等,并且对于(with scipy)版本还支持scipy、sklearn等,在很大程度上能满足python学习的需求,也能满足一定的专业程序员的需求。
不足之处在于,notebook可能对于一部分人来说使用起来不习惯,以及受限于iPad OS,只能安装一些纯python的库,一些深度学习的第三方库可能安装不了。
二、pythonista(68元,仅支持python)
简介
pythonista是一款python的IDE,界面较为特别,内置了numpy、matplotlib等热门第三方库。但是遗憾的是并不支持安装第三方库(好像有曲线救国的方法)。它有很多特色的小功能,比如内置了很多生动形象的小程序,对于初学者来说是很好的学习参考,对于已经掌握python的程序员来说也可以在此基础上开发一些小程序。pythonista支持python ui的开发,能做一些很精美的程序。
具体使用介绍
打开app,点击New file,点击Empty script来创建一个新的python文件,把路径设置在This iPad然后点击create创建就可以。可以看到除了纯python文件,也可以创建带UI的python文件(这方面我不是很擅长,读者可以自行尝试)。



除此之外,点击左上角可以查看文档,再点击返回可以查看全局文档,进行文档管理。

点击This iPad下的example可以查看软件自带的一些小程序,点击运行可以查看对应的功能,比如这个时钟小程序


除此之外还有各种形式的程序,各位读者可以自行查看
简单测试
我们在pythonista上创建一个脚本,并运行一个简单的例子


可以看出,运行结果是正确的。
总结
pythonista是一款比较专注于python,界面比较独特的app。上面支持普通的python脚本文件,也支持python UI文件,并且提供了大量的例子,可供初学者学习,也增加了趣味性。
缺点是由于官方并不支持自行通过pip安装第三方库,使用起来只能局限于app自带的库,会有所不方便。app也已经有很长一段时间没更新了,所以体验可能稍差。
三、Code app(30元,支持多种语言)
简介
Code app是一款界面类似vscode的代码编辑器,能够支持5种语言的本地编译以及40多种语言的在线编译。运行界面和操作逻辑与vscode非常相似,内置了linux终端,支持近70种命令(ls、cd、nslookup等),并且支持快捷键自定义,对鼠标对支持也非常良好,功能十分强大。
具体使用介绍
打开app,可以看到与vscode类似的界面,我们可以创建新文件,也可以打开已有文件,也可以使用git clone来拷贝github上的项目。
我们点击新文件,可以创建不同语言的文件,我们在这里创建一个python脚本文件


创建文件后,可以看到运行的是本地的python3.9.2。输入几行代码,可以看到代码高亮与电脑端vscode是类似的,但是在写代码过程中不支持代码提示,这点比较遗憾

打开左下角的设置,可以更改主题或字体大小,也可以查看app支持的本地和远程编译的语言。


终端(terminal)可以按左边的按钮打开或者关闭,可以支持的命令有70多种,使用起来十分方便。使用pip命令也可以安装纯python第三方库。

其他使用可以参考电脑端vscode的使用,感兴趣的读者可以下载使用一下。
简单测试
我们运行上面的python代码,运行正常

我们再测试一下别的语言,如C++,运行结果也正常。

其他语言以及在线编译功能读者可以自行尝试。
总结
code app是一款功能非常强大的iPad代码编辑器,支持多种语言的编译功能,文件管理也非常完善,可以在一定程度上满足专业程序员的需求。
美中不足的是code app不支持代码提示,也不支持debug,期待后续更新可以加上这些功能。如果实现的话,应该算得上是iPad上最好用带有本地编译功能的编译器了。
四、提高写代码效率的配件
首先键盘肯定是要配一个的,要不然在屏幕上打字一来效率不高,二来屏幕大小就这么点,再被键盘占去一部分空间后写代码就会显得很局促。
在这里我给大家推荐一款罗技的无线蓝牙键盘,我自己本人也是罗技K380用户,键盘的手感很不错,质感也很好,最主要的是这款键盘方便携带,与iPad简直是绝配!!!并且支持三台不同设备之间的自由切换,可以同时配对你的iPad、电脑和手机,实现设备间办公无缝衔接。K580也是不错的选择,提供了一个平板或者手机的支撑位,使用起来更方便,并且也能支持两台设备之间的切换。大家可以按需选择。
除此之外,鼠标也可以配备一个,这样可以获得更加接近电脑上写代码的感觉,提升效率。大家也可以考虑一下罗技家的蓝牙鼠标,非常轻薄便于携带,是随时随地在iPad上写代码的好帮手!
五、写在最后
以上我们总结了几款使用体验非常不错的python编译器,以及code app这个能够支持多种语言的编译器:
carnets是基于jupyter的,在进行科研或者数据处理的时候非常好用;缺点是对于不习惯jupyter的用户可能试用体验不习惯。pythonista是面向UI设计为主的,也可以运行一些简单的python脚本,同时提供了一些生动的例子兼具了趣味性;但是官方不支持安装第三方库,对于专业程序员可能很多想要的功能不能实现,并且软件已经长时间没更新,不排除作者弃更的可能。code app是功能最全面的一款app,界面与电脑端的vscode类似,支持几款常用语言的本地编译和数十种语言的在线编译,也能支持markdown和html等语言的预览,功能想对齐全;缺点是暂时不支持代码提示以及debug,对于专业程序员来说可能有时候会比较头疼。除了上面提到的几款app,其实iPad上也有不少其他好用的编译器,比如pyto等。也有许多面向其他语言的编译器,大家可以在app store上寻找。
但是由于iPad上只支持纯python的第三方库,有些专业程序员可能对其他第三方库有需求,或者说想运行编译其他更多语言,这个问题可以通过远程编译的方式来解决。如果我们有云服务器或者个人主机的话,可以通过在主机上配置code-server或者jupyter server的方式在iPad上实现远程编译 ,这个具体的教程就不在这展开了,感兴趣的读者可以搜索网上的教程,我后续可能也会写一篇关于通过远程服务器在iPad上写程序的文章,欢迎大家关注!
以上有错误的地方也欢迎大家指正,互相交流!
相关问答
怎么使用ipadpro编程?
要使用iPadPro进行编程,首先需要下载适用于iPad的编程应用程序,例如SwiftPlaygrounds或Pythonista。然后,可以使用iPadPro自带的触控笔或外接键盘来编写代....
请问下,现在的平板电脑,可以下载用来编程的软件吗,如果想要...
比如楼主的评判是安卓系统,那就需要找安卓系统下运行的编程软件,建议去安卓论坛找一找,应该有简单的编程软件,类似微软的.Net那样的,目前来看还不太现实。而且...
苹果ipad怎么下载java程序,ipad没有越狱-ZOL问答
为什么要下载java程序?苹果不支持直接安装java。不可以装。苹果不支持。有些不支持ipad2的应用,你看看应用说明,支持的软件版本和硬件机型苹果iPad虽然不支...
在IPAD上可以运行编程软件吗?求图片_其他问答_系统粉
理论上可以运行,不过需要相关的IOS软件支持,不过目前在IOS端的编程软件很少。
iPad可以用来编程吗?
是的,iPad可以用来编程。以下是几种可用于在iPad上编程的方式:1.SwiftPlaygrounds:这是苹果官方提供的编程应用程序,专为iPad和Mac设备设计。它包含各种练...
IpadPro可以像电脑一样编写办公表格吗?
可以,不过还是有一定局限性。如果你出差在外,需要临时对表格进行修改,可以使用iPadPro。如果你身边有电脑,尽量还是选择电脑做表格。原因有两点:第一点,...
ipad编程软件游戏?
LightbotJr是一款编程益智解谜游戏,由加拿大大学一名叫DannyYaroslavski的学生开发。DannyYaroslavski说,这款游戏可教小朋友们一些诸如规划、程序、测试...
苹果iPadPro能用UG软件吗-ZOL问答
如果有Mac版的可以去找找,Windows版的话就要在你的MacBookPro上装一个Windows...你试一下华创信息管理平台,B/S结构,不仅支持电脑访问,而且支持手机、iPad等移...
在平板电脑(iPadPro/AndroidPad)上写代码有什么样的靠谱的方案?
推荐iPad上的Textastic这个神器,用了一年多,感觉没有比它更适合在iPad上写代码了。说说其中几个优点:(图片均来自网络,懒得自己截图了)1.支持识别80多种...推...
android系统的平板怎么下载橙光游戏的制作工具-ZOL问答
9条回答:【推荐答案】这个游戏的制作软件只能在电脑上下载的呢!win或者xp系统!然后游戏的制作需要会Java和编程,可以在应用宝上面下载开发的教程的!应用宝里面的...