iPad 上的 Web 开发
发布时间 作者 Eric L. Barnes
我一直都喜欢完全在 iPad 上工作。它的便携性、电池续航时间,以及触控屏,使其成为一款出色的设备。
缺点是它一切都是沙盒化的。你只能运行 App Store 中的程序,这使得在设备上安装开发服务器等疯狂的事情变得不可能,但可以通过现有的应用程序和一些巧妙的技巧来解决这种限制。
上个月,我不幸遭遇了一次自行车事故,左手背部骨折。手术后,我的中指、无名指和小指被固定在一起,以便能够完全愈合,但这意味着我无法用那只手打字。我不得不学习用一只手打字,我发现用 iPad 最容易,因为它的自动完成和自动更正功能。我用它比用 MacBook 快得多,这促使我想要更多地使用它。
我的工作中,除了开发以外,我都可以用 iPad 完成,我会在 iPad 和传统电脑之间来回切换。用我的代码编辑器在传统电脑上工作,然后用 iPad 做其他事情。这种流程很快就变得令人讨厌,我开始探索在 iPad 上完成所有工作的办法。
屏幕共享
我的第一个想法是将屏幕共享回我的 Mac。使用屏幕共享可以让我使用所有我习惯的工具,并且仍然使用 iPad。这个想法在理论上比实践中效果更好。我无法让屏幕分辨率匹配,所以屏幕上的一切都很小,并且有 2 英寸的信箱。
由于它不适合,我又开始寻找其他解决办法,发现有些人报告说使用开发服务器和 Vim 等文本编辑器取得了良好的效果。
Laravel Forge
一旦我决定使用开发服务器,我必须弄清楚如何设置它。我不是服务器管理员,说实话,我对服务器也不是特别熟悉,我决定遵循 Laravel Forge 用户最容易的途径,这意味着登录我的帐户并启动一个新的服务器。然后我需要添加所有站点。我使用了一个通用域名,然后将每个站点设置为子域名。
通过 Forge 设置每个开发站点是可行的,但是如果你处理许多项目,这可能不是理想的选择。你最好使用 Nginx 通配符路由之类的更高级的功能。
服务器启动并运行后,该是弄清楚如何从 iPad 上访问它的时间了。
SSH 连接
App Store 中有一些不同的 SSH 应用程序,它们看起来都足够用,但我没有时间测试它们。根据评论和应用程序截图,我决定先尝试 Termius,到目前为止它已经满足了我的需求。
在 Termius 中,你可以创建一个 SSH 密钥,添加到服务器上,以实现无密码登录;它支持 SFTP,用于将文件上传到服务器,以及许多我还没有用到的其他功能。
说实话,使用 Forge 和 Termius 非常好。它易于设置,易于上手,尤其是在你以前运行过 Digital Ocean 或 Linode 服务器的情况下。
由于服务器在网上运行,我设置了两个别名,以便可以轻松地将其开启或关闭。
alias do_allow80="sudo ufw allow 80"alias do_block80="sudo ufw deny 80"
这两个命令用于开启或关闭端口 80,当然,你可能想更进一步,阻止除你的 IP 地址之外的所有流量,并包含用于 SSL 的端口 443。
服务器设置好后,你就可以使用 SSH 连接了,现在是学习 Vim 的有趣部分了。
VIM
我不想使用 Vim,但每个 iOS 编辑器应用程序都严重缺乏我使用的功能。我既可以调整我的工作流程以适应它们,也可以使用我可以根据需要进行自定义并与我的现有设置匹配的工具。
我从来都不是 Vim 的忠实用户。我知道如何使用 `hjkl` 键四处移动,如何保存,如何退出,但仅此而已。所以我花了大部分时间学习它的操作方法,我仍然不太习惯使用它。Vim 是一个学习过程。
这个编辑器最棒的地方,也是我一直没有意识到的地方,是它的生态系统中有多少有用的插件。我只需要几个插件就能复制我在 Sublime 或 Code 中使用的大部分功能。我可以使用 `ctrl+p` 模糊搜索文件,`ctrl+e` 打开最近的文件,`ctrl+l` 打开目录结构的侧边栏,甚至借助 AG 实现跳转到定义。
为了设置编辑器,我首先观看了 Laracasts Vim 系列课程,然后找到一个名为 FZF 的插件,它对导航非常有用。安装它之后,我就可以执行以下操作:
- control+p 模糊打开文件 `:GFiles`
- control+t 在文件中查找方法 `:BTags`
- control+e 打开最近的文件 `:History`
以及许多其他操作
查看 Jesse Leite 的这篇文章,了解有关 FZF 的更多提示。
如果你想查看我的确切设置,我的完整 .vimrc 在 Github 上可用。
一旦我对基本任务更熟练,我相信 Vim 可能会成为我喜欢的工具。
数据库
对于数据库访问,我首先找到了一个名为 MyCLI 的终端工具,它支持自动完成和语法高亮,非常棒。它效果很好,但我仍然更喜欢 GUI,我唯一可以正常使用的应用程序是 iOS 上的 Navicat。我尝试过的其他应用程序不支持通过 SSH 密钥连接。
我发现这两个选项都比 Sequel Pro 差,但它们足够用。
前端编码
目前,这是最大的限制。我还没有找到解决办法,但我还没有做过太多 JavaScript 或 CSS 工作。有些人建议使用 Browsershots 等服务来获得完整的浏览器,或者你也可以将屏幕共享到任何 Mac。我觉得这对于许多人来说将是一个突破点,因为现在的 Web 开发很大一部分都在前端进行。
键盘
你可以只使用屏幕键盘或 Apple 的官方 Smart Keyboard 进行操作,但两者都没有 escape 键。对于 Vim,我重新映射了它,但我发现没有它很烦人,我找到了一款售价 40 美元的小型机械键盘,我一直都在用它,它效果很好。它包含 escape 键,宽度与 11 英寸 iPad 相当。我在我的网站上写了一篇关于这款键盘的完整 评测。
结论
我知道每个人都在做不同的事情,而且都有不同的喜好,所以这种设置并不适合所有人。在使用 iPad 之前,我一直使用的是 12 英寸 MacBook,所以我习惯了小屏幕,并且喜欢全屏运行应用程序。所以对我来说,进行切换非常容易。我唯一缺少的是控制台和 Web 检查器。
如果您正在寻找一款超级便携且电池续航时间长的设备,请尝试一下这种设置。我知道我期待着温暖的天气和在户外工作。