作为一名计算机用户,安装一台ipad进行编码是我最大的壮举

几个月前,我详细介绍了设置Pixelbook进行编码的过程。这并不容易,也不简单,也不直截了当,但最终还是成功了:我拥有了Linux的所有功能和灵活性,访问了我最喜欢的代码编辑器(VS代码),当然,还有Chromebook所熟知的流畅的网络浏览体验。...

几个月前,我详细介绍了设置Pixelbook进行编码的过程。这并不容易,也不简单,也不直截了当,但最终还是成功了:我拥有了Linux的所有功能和灵活性,访问了我最喜欢的代码编辑器(VS代码),当然,还有Chromebook所熟知的流畅的网络浏览体验。

大约在同一时间,我试图安装一台iPad进行编码。我失败得很惨。我喜欢使用iPad进行写作和其他创造性工作。它超级便携,电池续航时间很长,屏幕很好,有限的多任务处理让我集中精力。不幸的是,这对于复杂的任务来说是非常糟糕的,对于软件开发来说是故意的。

但我现在更老了,也更聪明了,在整整一个周六的时间里,我的头撞在墙上,我很高兴地告诉大家,我可以用一台799美元的平板电脑来编写软件。我真的会用它来达到这个目的吗?大概但我们会做到的。

如果你也希望在iPad上编码,请随意跟随我的脚步。我不能向你保证这是一个值得去的地方,但我在去那里的路上学到了很多。

第一章:旅程从降低我的期望开始

众所周知,苹果非常害怕任何人可能会在其原始的iOS设备上运行任意代码。这有点道理:iOS和App Store的严格限制就是为什么一台使用了多年的iPad比一台同样使用了多年的MacBook Pro响应速度快得多,而且不粗糙。

但这使得开发软件几乎不可能。具有讽刺意味的是,iPad在绘画、设计和音乐等诸多方面都非常适合创作者。在引擎盖下是同样的Unix内核,它使macOS成为程序员的优秀工具。

不管怎样,你知道这一切。

在Pixelbook上,我想要一个与我的Mac设置基本相当的完整的Rust开发环境,与之不同,我决定在我的iPad上进行一些基于JavaScript的web开发。

我知道该去哪里:CodeSandbox。这是一个网站,一切都在浏览器中运行。因此,iPad无法阻止我用JavaScript创建“计算器2:计算器的续集”web应用程序的梦想。

CodeSandbox允许您使用任意NPM包,并且它有一个基于VS code自己的编辑器的代码编辑器。因此,只要您坚持使用JavaScript,它几乎与传统的基于桌面的web开发设置一样强大。CodeSandbox还去除了一些配置文件的粗糙边缘,并使用各种技术(React、Vue、Redux,甚至像Hyperapp这样的外来框架)构建了许多预制项目,这使得现代web开发似乎需要的uber复杂构建链很容易启动。

看到CodeSandbox有一个Vim模式,我特别兴奋。Vim键绑定是我首选的文本导航方式,在没有鼠标辅助的iPad上尤其重要。在Vim中,移动光标、突出显示文本、删除单词或行、移动行以及在文件中跳转很长距离都只需要几个按键。与iPad不同的是:用你笨拙的手指戳屏幕几秒钟,希望iOS能看出你的意图。

基本上,一切都很顺利。CodeSandbox是我所需要的一切,我的iPad突然成了一个非常有用的webdev盒子——至少对于构建我所热衷的小型实验来说是如此。

除了一个问题:iPad没有逃生键。

第二章:绝望的感觉

请参阅,在Vim中,有不同的“模式”。默认模式是使用键盘在文档中导航。这是选择模式,您可以使用相同的导航键来选择文本。而且,重要的是,还有一种**模式,你可以用键盘打字。由于需要退出**模式才能再次移动光标,因此需要某种命令才能退出**模式。默认情况下,该命令连接到退出键。

许多Vim用户(比如我自己)映射了一个像“jj”这样的奇特的组合键,以使退出**模式更容易,但CodeSandbox实际上不是Vim。它只是模拟Vim的一些默认键绑定。所以我需要一把逃生钥匙。iPad甚至不知道这意味着什么。

我是认真的!起初,我认为这只是苹果自己的智能键盘盖的问题,它没有功能行,也没有退出键。于是我拿出一个普通的蓝牙键盘,把它连接到iPad上。我卡住了逃生钥匙。。。没有什么。在iOS的世界里,没有什么可以逃避的。

我在绝望中浏览了StackExchange和各种GitHub问题。是的,有一些方法可以模拟带有“Ctrl+[,”的Escape按键,但在这种情况下,我什么也得不到。我的余生都被困在**模式中。

CodeSandbox,你让我如此接近!

事实上,基于CodeSandbox的快速迭代,如果他们在不久的将来解决了这个问题,我不会感到惊讶。

但与此同时:一个男孩该怎么办?

第三章:好的,让我们再试试云

当我第一次尝试安装iPad进行编码时,我自然而然地直接进入了云端。但是云不是一个神奇的地方,在那里你所有的梦想都会成真。在Digital Ocean或Google Cloud上设置devbox需要一些Linux和SSH知识,并且当您的命令行技能失败时,没有GUI Linux界面可供依赖。

奇怪的是,我上一次尝试云devbox设置时散乱的知识碎片就是我快速让一切正常工作所需要的。我在Digital Ocean上花了5美元买了一个基本的盒子,在上面安装了Ubuntu,并为它提供了一个我在Panic的Prompt应用程序中生成的SSH密钥,这是一个用于iOS的SSH终端模拟器。为什么以前这么难?

在我的数字海洋盒中搜索后,我开始添加我需要的工具。我安装了Neovim(现代Vim替代品),在GitHub上找到了Neovim的.config文件并复制了它。然后我安装了nodejs,纱线,npm,包裹,锈迹,gcc。。。所有我渴望的好东西。因为VS代码的“语言服务器”方面是开源的,所以在将代码编写到Neovim时,我可以得到很多我非常依赖的提示和错误,尽管它缺少VS代码的所有GUI提示和口哨。

我很难描述我是如何完成所有这些事情的,除了sudoapt-get-install的自由应用程序、复制和粘贴shell脚本以及仔细阅读错误消息之外。大多数情况下,这只是多年来在命令行中的反复试验。我想如果你在某件事上遇到困难,请告诉我,我会尽力帮助你。您是否尝试过修改$PATH?

所以,无论如何,现在我可以用JavaScript编写一个web应用程序,从我的Digital Ocean box提供服务,并在Safari中预览我的工作(通过实时重新加载,多亏了Parcel执行的一些魔术)。我甚至可以将终端和Safari分开,真正开始工作。

但很快,我就感到沮丧:我的“编码”工作中只有一小部分实际上是在输入代码。我把大部分时间花在阅读文档和其他人的代码上,试图弄明白任何东西到底是如何工作的。浏览StackOverflow几分钟后,我收到来自提示符的通知,警告我SSH会话由于不活动而即将断开。

iOS之所以如此出色且响应迅速,是因为它几乎没有多任务,除非你同时使用多个音频应用程序。Prompt尽其所能保持活力,但iOS最终总是会杀死它。

第四章:udp拯救世界

所以,我搜索了一个解决方案,发现了Mosh。基本上,Mosh是一种UDP协议,用于从间歇连接使用终端。您可以像往常一样通过SSH进行连接,但随后该连接将被转交给Mosh,以便在停机期间保持其“活动”。Prompt不支持Mosh,所以我又花了20美元购买了另一个终端模拟器应用程序,名为Blink,并设置了Mosh。在我的Ubuntu设备上运行Mosh服务器,并在Blink中正确输入我的登录详细信息,这需要一些尝试和错误,但一旦我让它工作起来,它就工作得很好。

我可以离开终端几天,只要打开Blink,就可以打开上次打开的所有会话。对于命令行战士来说,这并不是什么了不起的壮举。他们知道所有关于“重新连接”会话或他们所做的任何事情。但对我来说,这是一个巨大的成就。

事实上,在某些方面,我更喜欢我的iPad/Blink/Digital Ocean设置,而不是在Mac上编码。我不能做我的Mac电脑所做的一切——例如,在网络浏览器之外,任何涉及窗口或图形的事情都是不可能的——但我很高兴知道,我没有因为从互联网上安装的各种奇怪的命令行软件而把我的Mac电脑搞得一团糟。如果我的安装程序无法修复,只需点击几下,就可以擦除我的Ubuntu盒,重新开始。

此外,虽然我的数字海洋盒比我的MacBookPro慢很多,但它的互联网连接速度非常快。我想在这个云盒子上安装git clone或npm的任何东西都会让人感觉像snappier,这要归功于它最小的延迟和巨大的互联网管道。

哦,如果你想知道的话:Blink支持“Ctrl+[”命令来模拟escape。如果你真的想发疯的话,你也可以将Caps-Lock键映射到escape(我通常将Caps-Lock映射到Ctrl,这也是Blink支持的)。但是,谢天谢地,我的Neovim配置将“jj”映射为在**模式下逃逸,所以我在这方面很出色。

我目前的设置实际上只有一个问题:我对JavaScript很糟糕,因此我第一次写的东西都不管用,而且我在Mobile Safari中看不到任何控制台错误消息,因为它是一个残废的婴儿浏览器。

CodeSandbox.io包含自己的控制台接口。

我想我在这个新的编码设置上的第一项工作将是为CodeSandbox编写一个pull请求,以支持“jj”转义方法。

要是我更擅长JavaScript就好了!

我发现自己陷入了困境。

  • 发表于 2021-08-23 08:11
  • 阅读 ( 104 )
  • 分类:互联网

你可能感兴趣的文章

放松点:mac不会很快出现在任何地方

... 传统观点认为iPad将取代Mac。虽然有些用户可以用平板电脑取代Mac电脑,但这并不适合所有人。iPad可能是一台生产率很高的机器。如果你只做电子邮件、通讯、写作和基本的办公用品,毫无疑问你可以在iPad上...

  • 发布于 2021-03-15 06:14
  • 阅读 ( 215 )

想学编程吗?你应该知道的5个关键术语

...但是IDE是一个沙盒,它允许您编写、编译(从文本转换为计算机语言)、测试和调试(或更正)应用程序。“集成开发环境”中的单词环境是关键:使用IDE意味着您正在一个封闭程序中使用多个编程工具。然后,您将使用这些工...

  • 发布于 2021-03-23 09:19
  • 阅读 ( 310 )

双启动与虚拟机:哪一个适合你?

... 通常情况下,计算机的硬件100%用于运行操作系统。但是,当您使用虚拟机时,您正在主操作系统中运行第二个操作系统。这意味着您必须将硬件分为两部分。 ...

  • 发布于 2021-03-25 01:47
  • 阅读 ( 256 )

目前81%的iphone安装了ios14

iOS14在2020年9月16日才向大多数用户提供,但在过去四年推出的所有iPhone中,81%的用户已经安装了iOS14。 ...

  • 发布于 2021-03-29 00:44
  • 阅读 ( 191 )

你能在2020年用ipad取代mac吗?

...弱的智能键盘有了很大的改进,同时仍然很薄很轻,可以作为平板电脑使用。 ipadpro还附带了一个用于充电和扩展的USB-C端口,而不是Air和普通iPad上的Lightning端口。您可以连接USB-C集线器来使用常规的USB-A、存储卡、3.5毫米音频接...

  • 发布于 2021-04-02 04:13
  • 阅读 ( 185 )

如何在iphone或ipad上安装ios12beta

... 第一步:用itunes备份你的iphone或ipad 为什么要备份到本地计算机?即使连接速度很快,对于一部拥有大量应用程序和存储空间的**来说,下载完整的iCloud备份也需要很长时间。此外,当您有额外的硬盘空间时,您不必担心空间耗...

  • 发布于 2021-04-05 06:41
  • 阅读 ( 240 )

office 365和office 2016有什么区别?

...用程序。您可以选择一个订阅,允许您在最多五台不同的计算机上安装Office,与您的家人共享,或者只为自己安装Office。 office 2016:传统软件产品 Office 2016是一个传统的软件产品。微软为家庭用户销售“Office Home&Student 2016”...

  • 发布于 2021-04-08 06:30
  • 阅读 ( 425 )

通过空间升级、应用程序等让dropbox帐户充满活力

...t supercharging anything)? Dropbox是一种基于云的存储服务。在计算机或移动设备上安装应用程序,Dropbox目录中该设备上的文件将同步到Dropbox服务器上的远程存储以及链接到Dropbox帐户的其他设备。例如,使用Dropbox,您可以保存正在...

  • 发布于 2021-04-09 19:49
  • 阅读 ( 153 )

如何从ipad、iphone或ipod touch打印

...rome菜单按钮,点击Print,然后选择googlecloud Print。 要在旧计算机上设置Google Cloud Print,请将其连接到旧计算机并安装Chrome浏览器。在Chrome中完成Google云打印设置过程,将打印机与您的Google帐户相关联。现在,当计算机运行且Chrome...

  • 发布于 2021-04-11 11:49
  • 阅读 ( 291 )

苹果的swift playgrounds是一个伪装成电子游戏的编码类

...视频游戏-它是一系列的编码课程和挑战,旨在教孩子们计算机科学的基础知识,所有这些都是基于苹果的新编程语言,Swift。 这款应用程序名为Swift Playgrounds,如果你在iPad上安装ios10beta,你现在就可以试用。您将发现...

  • 发布于 2021-05-06 11:02
  • 阅读 ( 159 )
Li_vean
Li_vean

0 篇文章

相关推荐