Views Comments Previous Next Search

Цитата: как дизайнер изучил код и выпустил эпп за 4 месяца

Интерфейсный дизайнер из Венгрии Золтан Хоссу (Zoltan Hosszu) рассказал о том, как выучил язык программирования Swift с нуля и выпустил приложение для OS X за 4 месяца.

 

«Окей, буду честным. Я начал изучать Swift 4 месяца назад, когда уже знал некоторые языки программирования. Однако никогда не делал родного приложения для какой-либо платформы. Сейчас понимаю, что понятия не имел, с чем мне придётся столкнуться... <...>

В 2011 году мой [личный] сайт здорово поднялся. Макет попал на DeviantArt (вероятно, в подборку Daily Deviations. — Прим. ред.), и я с волнением проверял посещаемость каждый день. Но немного расстроился. Не из-за посещаемости, а из-за того, что не могу быстро её проверить. Тут есть два варианта: либо возиться с Google Analytics, либо найти простое приложение, которое мне поможет. Я начал искать.

Цитата: как дизайнер изучил код и выпустил эпп за 4 месяца. Изображение № 1.

 

Но решения были либо слишком занудными и уродливыми, либо не давали нужных данных. Будучи дизайнером, я нарисовал макет лучшего решения и выложил его на Dribbble. Пара дюжин лайков заставили меня копаться в теме дальше. Я узнал, что виджеты [для OS X] это по сути приложения на HTML и JavaScript, поэтому решил поработать серьёзнее, поскольку знал оба этих языка.

Рабочий прототип запустился в панели управления через пару дней. Я назвал его GAget, как акроним от виджета Google Analytics (Google Analytics widget). Вышел виджет примерно через две недели, в августе 2011 года. Число отзывов просто ошеломляло: MacStories, SwissMiss, куча блогов поменьше рекомендовали GAget. Про меня даже написали в венгерской версии журнала PC World.

Руководства из книг вели
в никуда

ЗОЛТАН ХОССУ

Дизайнер интерфейсов

 

Но когда Apple выпустила Yosemite и закрыла Dashcode, GAget ожидало весьма мрачное будущее. <...> [Тогда] я начал читать документацию Apple по тому, что сегодня называется расширениями. Но все они были на Objective-C. Тьфу! Работать с компилирующей программой, потерями памяти и многопотоковыми процессами не хотелось. Это звучит пугающе, если вы никогда раньше таким не занимались. Самой большой проблемой было то, что я понятия не имел, с чего начать.

Я купил книгу о разработке для iPhone на Objective-C, но сдался, прочитав пару глав. Буду честным, для того, кто знаком с фроненд-языками и немного с PHP, Objective-C кажется слишком запутанным. Посмотрите на этот код:

 

 

@​i​n​t​e​r​f​a​c​e​ ​​R​e​m​i​n​d​e​r​V​i​e​w​C​o​n​t​r​o​l​l​e​r​(​)

@​p​r​o​p​e​r​t​y​ ​(​n​o​n​a​t​o​m​i​c​,​ ​w​e​a​k​)​ ​I​B​O​u​t​l​e​t​ ​U​I​D​a​t​e​P​i​c​k​e​
r​ ​*​d​a​t​e​P​i​c​k​e​r​;​

@​e​n​d​

 

 

Что может “​i​n​t​e​r​f​a​c​e​”? Чем является “​p​r​o​p​e​r​t​y​”? Что значат “​n​o​n​a​t​o​m​i​c​” и “​w​e​a​k​”? Что, чёрт возьми, здесь делают @ и *? Я понял, что это конец!

Цитата: как дизайнер изучил код и выпустил эпп за 4 месяца. Изображение № 2.

 

Руководства из книг вели в никуда. После нескольких недель борьбы я не стал ближе к родному приложению. Тогда вспомнил, что Apple вместе с Yosemite представила новый язык программирования Swift. Он был новым для всех, поэтому многие гуру начали писать о нём, обсуждать, почему он отстойный и как нужно изучить Objective-C прежде, чем трогать Swift. Весь этот шум заставил меня обратить на него внимания. Я скачал и начал читать документацию.

Это было как лёгкий бриз. Код начал выглядеть знакомо, как чуть более сложный JavaScript. Я запустил Xcode и начал копировать то, что люди показывали в инструкциях.

Моей целью был виджет для OS X. Но большинство руководств были или о самом Swift, или о приложениях для iPhone. Я собрал и выложил подборку ссылок, которые нашёл полезными. Они могут помочь и вам, если начинаете программировать для iOS и OS X. <...>

Цитата: как дизайнер изучил код и выпустил эпп за 4 месяца. Изображение № 3.

 

[Во время] работы я узнал, что конкретный дэдлайн может дать много мотивации. Каждый Новый год мы с женой садимся и делаем список того, чего хотим достичь в следующем году. В последний раз я указал, что хочу выпустить новую версию GAget в конце января. Это был мой дэдлайн. Несмотря на то, что я вышел из него на месяц (спасибо процессу одобрения в App Store и сторонним проектам), я всё равно напряжённо трудился в январе и вычеркнул пункт из списка. Записанный на листе бумаги, он является мощным мотиватором.

Я также выяснил, что во время обучения циклично наступают три фазы: волнение, борьба и решение.

 Фаза волнения: все начинают с неё. Есть новые идеи, изучаете новые штуки, это выглядит многообещающе и интересно, что из него получиться дальше. Вы мотивированы и хотите экспериментировать с тем, что знаете, но, в конце концов, достигаете предела знаний.

Фаза борьбы: вы сталкиваетесь с первой проблемой, волнение и мотивация начинают падать. Понятия не имеете, что и как нужно искать. В отчаянии, каждый раз, когда ищете ответ на третьей странице Google.

Фаза решения: наконец-то! Вы решили противную проблему. Начинаете работать быстрее, снова чувствуете себя взволнованным и мотивированным. Возвращаетесь к первой фазе. Каждый раз, когда начинаете, помните: этап борьбы может быть долгим и разочаровывающим, но решение есть. Найти его — часть всего веселья».

Рассказать друзьям
12 комментариевпожаловаться

Комментарии

Подписаться
Комментарии загружаются
чтобы можно было оставлять комментарии.