iPad 上的 Web 开发

发布时间 作者

Web Development on an iPad image

我一直都喜欢完全在 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 检查器。

如果您正在寻找一款超级便携且电池续航时间长的设备,请尝试一下这种设置。我知道我期待着温暖的天气和在户外工作。

Eric L. Barnes photo

Eric 是 Laravel News 的创始人,从 2012 年开始报道 Laravel。

分类于
Cube

Laravel 新闻简报

加入 40,000 多名其他开发者,不要错过新的技巧、教程等等。

Laravel Forge logo

Laravel Forge

轻松创建和管理您的服务器,并在几秒钟内部署您的 Laravel 应用程序。

Laravel Forge
Tinkerwell logo

Tinkerwell

Laravel 开发人员必备的代码运行器。使用 AI、自动完成和对本地和生产环境的即时反馈进行调试。

Tinkerwell
No Compromises logo

绝不妥协

Joel 和 Aaron 是来自 No Compromises 播客的两位经验丰富的开发者,现在可以为您的 Laravel 项目提供服务。 ⬧ 固定费率为每月 7500 美元。 ⬧ 没有冗长的销售流程。 ⬧ 没有合同。 ⬧ 100%退款保证。

绝不妥协
Kirschbaum logo

Kirschbaum

提供创新和稳定性,以确保您的 Web 应用程序取得成功。

Kirschbaum
Shift logo

Shift

正在运行旧版本的 Laravel?即时、自动化的 Laravel 升级和代码现代化,让您的应用程序保持新鲜。

Shift
Bacancy logo

Bacancy

让经验丰富的 Laravel 开发者(拥有 4-6 年经验)每月只需 2500 美元就能增强您的项目。获得 160 小时的专业知识和 15 天免费试用。立即安排通话!

Bacancy
Lucky Media logo

Lucky Media

现在就来试试 Lucky - Laravel 开发的理想选择,拥有十多年的经验!

Lucky Media
Lunar: Laravel E-Commerce logo

Lunar:Laravel 电子商务

Laravel 的电子商务。一个开源包,为 Laravel 带来了现代无头电子商务功能的力量。

Lunar:Laravel 电子商务
LaraJobs logo

LaraJobs

官方 Laravel 工作板

LaraJobs
SaaSykit: Laravel SaaS Starter Kit logo

SaaSykit:Laravel SaaS 启动工具包

SaaSykit 是一个 Laravel SaaS 启动工具包,包含运行现代 SaaS 所需的所有功能。付款、漂亮的结账、管理面板、用户仪表盘、身份验证、即用型组件、统计信息、博客、文档等等。

SaaSykit:Laravel SaaS 启动工具包
Rector logo

Rector

您无缝升级 Laravel 的合作伙伴,降低成本,加速创新,帮助企业取得成功

Rector
MongoDB logo

MongoDB

通过 MongoDB 和 Laravel 的强大集成来增强您的 PHP 应用程序,使开发人员能够轻松高效地构建应用程序。支持事务、搜索、分析和移动用例,同时使用熟悉的 Eloquent API。了解灵活、现代的 MongoDB 数据库如何改变您的 Laravel 应用程序。

MongoDB
Maska is a Simple Zero-dependency Input Mask Library image

Maska 是一个简单的无依赖输入掩码库

阅读文章
Add Swagger UI to Your Laravel Application image

在 Laravel 应用程序中添加 Swagger UI

阅读文章
Assert the Exact JSON Structure of a Response in Laravel 11.19 image

在 Laravel 11.19 中断言响应的精确 JSON 结构

阅读文章
Build SSH Apps with PHP and Laravel Prompts image

使用 PHP 和 Laravel Prompts 构建 SSH 应用程序

阅读文章
Building fast, fuzzy site search with Laravel and Typesense image

使用 Laravel 和 Typesense 构建快速、模糊的网站搜索

阅读文章
Add Comments to your Laravel Application with the Commenter Package image

使用 Commenter 包为您的 Laravel 应用程序添加评论

阅读文章