О портативности устройств и iPad для программирования

У меня никогда не было настольного компьютера. У моего отца был динозавр Compaq начала 2000-х, который я пытался установить в своей комнате, но это не сработало. У меня никогда не было непортативной игровой консоли. Ни Nintendo 64, ни Gamecube, ни PlayStation, ни Xbox. У меня было несколько PSP, несколько поколений Gameboy и Nintendo DS, и я работаю только с ноутбуков. Я приписываю это тому, что провел большую часть своего детства в дороге с родителями, но, по правде говоря, мобильность сама по себе является проблемой.

Для дизайнера и разработчика заставить все работать — это только половина дела. Другая половина заключается в том, чтобы упаковать все в красивую упаковку, потому что как пользователь я могу сказать вам: никто не любит уродливые вещи. Мое первое знакомство с миром Linux и разработки программного обеспечения произошло при покупке Samsung Chromebook 2012 года. Я хотел ноутбук, на котором можно было бы запустить Linux. Мой выбор сводился либо к Samsung ARM Chromebook, либо к Acer C710 Intel Chromebook. Самсунг был красивее: если прищуриться, он выглядел как 11,6-дюймовый MacBook Air. Acer был более мощным устройством, но он был уродливым, и его батарея была слишком короткой. Для меня эстетика и портативность выигрывают каждый раз. Процессор ARM в Chromebook, тот же процессор, который сегодня используется в большинстве телефонов и планшетов, представлял собой проблему для запуска полного «настольного» дистрибутива Linux, поскольку большинство программ, которые я хотел, такие как текстовые редакторы (я еще не знал о VIM 😉 ), IDE и некоторые оконные менеджеры еще не имели порта ARM. Проект Debian работал над этим, как и Ubuntu. Я решил установить Ubuntu с окружением рабочего стола XFCE.

От Sammy Chromebook за 250 долларов я перешел на Chromebook Pixel 2013 года. Я снова выбрал Chromebook, потому что хотел бросить вызов Linux, но на хорошем оборудовании. Портативность каждый раз побеждала мощность при выборе устройства, потому что портативность обещала высокую производительность. Теоретически я мог бы работать где угодно. Будь я в библиотеке, в парке или в своем любимом ресторане, если бы я хотел выполнить работу, я мог бы это сделать. Между прочим, большую часть времени я тратил на оптимизацию своих устройств для выполнения работы, но не на самом деле.

sudo apt-get install [insert name of random package to increase productivity]

Теперь, когда я учусь в колледже, пару дней назад я купил iPad, потому что хотел читать и комментировать PDF-файлы для занятий, но больше всего я хотел посмотреть, смогу ли я программировать на нем. Слухи о том, что iOS 11 настолько хороша для производительности и многозадачности, я хотел выяснить, смогу ли я действительно отказаться от своего MacBook и выполнять всю свою работу с устройства 9.7 с закрытой экосистемой, такой как iOS.

Как и в случае с Chromebook, теоретически могу. Другие разработчики сделали это и написали отличные руководства по этой теме.

Я хотел, чтобы моя установка работала на меня, и это означало несколько вещей:

  1. Возможность работать откуда угодно
  2. Возможность компилировать проекты C++ для школы
  3. Возможность запуска Linux

Очевидно, что последний пункт означал, что у меня было два варианта: я мог сделать джейлбрейк iPad или запустить удаленный сервер и просто подключиться к нему по ssh всякий раз, когда мне нужно было выполнить работу. Я выбрал последнее, но это означало, что мне нужно было подписаться на Digital Ocean и сделать дроплет доступным 24/7. За 5 долларов в месяц это того стоит, тем более что студенты колледжей получают скидку 50 долларов с электронной почтой .edu. Выбор этого маршрута означал, что буквально все нужно делать через терминал. Я просмотрел свои старые репозитории Github, чтобы найти свои dotfiles, нашел свой .vimrc, клонировал его с удаленного сервера после входа в него по SSH с iPad, и у меня была симпатичная маленькая рабочая станция, готовая к работе.

Теперь вопрос заключался в том, сможет ли он заменить мой Macbook?

Я заказал Logitech K480, чтобы посмотреть, как он держится, потому что ограниченное пространство экрана слишком ценно, чтобы его можно было на 50% закрыть экранной клавиатурой. В конце концов, iPad отлично справляется с небольшими задачами и студенческой работой. Я всегда могу подключиться по ssh к компьютерным классам из моей школы или посетить несколько компьютерных классов, чтобы выполнить настоящую работу. Не говоря уже о том, что я всегда могу носить свой ноутбук, если мне нужно, он не такой тяжелый. Задача заключалась в том, чтобы все настроить и выяснить, может ли iPad заставить меня все реже и реже использовать свой MacBook. Если мне абсолютно не нужен XCode или другая IDE, iPad вполне подойдет. Мой класс CS пока не требует от нас слишком многого, за исключением того, что мы используем терминал для всего. Профессор даже говорит нам использовать Emacs (bleh). С этой настройкой iPad это не проблема. ✅

Для чтения, комментирования, заметок и решения математических задач iPad превосходит MacBook. Есть что-то в форм-факторе портативного устройства, которое просто повышает производительность, когда дело доходит до чтения, а не просто смотреть на экран ноутбука. Но самое главное, он соответствует критериям, на которых я основывал свой выбор устройства со времен Gameboy: эстетика и портативность.