Рубрика «swift» - 51

И снова привет, хабаровчане!

Развивая тему предыдущей статьи, пишу о программировании навигации между окнами вашего приложения с использованием минимума кода. Сразу хочу упомянуть, статья пишется для новичков, если вы в этом деле опытный разработчик — вряд ли она что-то вам даст.

Читать полностью »

Если издали видно общую картину, то вблизи можно понять суть. Концепции, которые казались мне далекими и, прямо скажем, странными во время экспериментов с Haskell и Scala, при программировании на Swift становятся ослепительно очевидными решениями для широкого спектра проблем.

Взять вот обработку ошибок. Конкретный пример – деление двух чисел, которое должно вызвать исключение если делитель равен нулю. В Objective C я бы решил проблему так:

NSError *err = nil;
CGFloat result = [NMArithmetic divide:2.5 by:3.0 error:&err];
if (err) {
    NSLog(@"%@", err)
} else {
    [NMArithmetic doSomethingWithResult:result]
}

Со временем это стало казаться самым привычным способом написания кода. Я не замечаю, какие загогулины приходится писать и как косвенно они связаны с тем, что я на самом деле хочу от программы:

Верни мне значение. Если не получится – то дай знать, чтобы ошибку можно было обработать.

Я передаю параметры, разыменовываю указатели, возвращаю значение в любом случае и в некоторых случаях потом игнорирую. Это неорганизованный код по следующим причинам:

  • Я говорю на машинном языке – указатели, разыменование.
  • Я должен сам предоставить методу способ, которым он уведомит меня об ошибке.
  • Метод возвращает некий результат даже в случае ошибки.

Каждый из этих пунктов – источник возможных багов, и все эти проблемы Swift решает по-своему. Первый пункт, например, в Swift вообще не существует, поскольку он прячет под капотом всю работу с указателями. Остальные два пункта решаются с помощью перечислений.Читать полностью »

Русский перевод очень полезной статьи Natasha Murashev The Many Faces of Swift Functions.

Хотя у Objective-C синтаксис выглядит несколько странно, по сравнению с другими языками программирования, синтаксис метода — прост и понятен. Вот небольшой экскурс в прошлое:

+ (void)mySimpleMethod
{
    // метод "класса"
    // нет параметров
    // нет возвращаемых значений
}

- (NSString *)myMethodNameWithParameter1:(NSString *)param1 parameter2:(NSNumber *)param2
{
    // метод "экземпляра"
    // первый параметр - типа NSString указатель, 
    // второй параметр  - типа NSNumber указатель
    // должен вернуть значение типа NSString указатель
    return @"hello, world!";
}

В противоположность этому, синтаксис Swift выглядит в большинстве случаев также, как и в других языках программирования, но временами он может быть более сложным и запутанным, чем в Objective-C.

Прежде чем я продолжу, я хочу прояснить разницу между «методами» и «функциями» в Swift, так как я повсеместно буду использовать оба этих термина в этой статье. Вот определение «методов», данное в книге Apple «Swift Programming Language»:

Читать полностью »

Стэнфордские курсы «Разработка iOS приложений» — неавторизованный конспект лекций на русском языке и 2015? - 1

Я разместила иконки курсов Стэнфордского университета по разработке приложений на iOS в обратном хронологическом порядке. На первом месте стоит иконка Swift — нового языка программирования для создания приложений на iOS, объявленного на WWDC 2014. Его официальный релиз состоялся осенью 2014 года. Кроме Swift реализована новая версия iOS — iOS 8. Уже известно, что Стэнфордский университет запустит зимой 2015 года новый курс CS193P с неизвестным пока названием (может быть будет что-то вроде «Developing iOS 8 Apps for iPhone and iPad»). Лектор тот же — профессор Paul Hegarty. Кроме того, Apple упоминала о включении Swift в учебные программы Стэнфорда, California Polytechnic Institute и других. Поэтому есть большая вероятность, что там будет Swift, но не как лидирующий, а наряду с Objective-C, потому что пока команде Apple не удалось вывести Swift на технологический уровень. Но в любом случае, там будет все об iOS 8.

В традиции Apple выкладывать этот курс на iTunes U в виде бесплатного курса обучения, но делают это они со сдвигом во времени, чтобы не мешать платному обучающему процессу, так что в феврале-марте 2015 года (как это было в 2013 году) можно ожидать постепенное появление лекций на iTunes U.

Надо сказать, что те, кто хоть раз использовали предыдущие версии стэнфордского курса CS193P для самообучения, конечно, ждут это событие с нетерпением. А предыдущих версий курса CS193P с профессором Paul Hegarty в качестве лектора было несколько.
Читать полностью »

Чертовски приятно быть причастным к большому и нужному делу, не так ли? Поэтому мы в Alconost Translations очень обрадовались, когда один из наших клиентов предложил подарить миру добро в виде перевода мануалов по молодому и перспективному языку программирования Swift. Язык новый, документации на русском по нему нет, а в англоязычной полно специфичных терминов. Мы же как раз специализируемся на IT-переводах, так что задача оказалась нам по плечу (кстати, будем рады помочь и вам с Читать полностью »

В конце октября в Москве прошла наша первая конференция мобильных разработчиков #MBLTDev. 17 докладчиков из из Англии, Германии, Голландии, Дании, России и США пришло послушать более 300 человек.

Мы будем постепенно выкладывать записи докладов с презентациями и начнем с доклада канадского блоггера Эша Фюрроу «Реактивное программирование на Swift». Помимо ведения блога, Эш является iOS-разработчиком онлайн галереи Artsy и автором нескольких книг про iOS-разработку.


Презентация.

В своем докладе Эш познакомил аудиторию с основами фреймворка ReactiveCocoa, проиллюстрировав их примерами на Swift. Также, он рассказал о приложении, над которым он в данное время работает в Artsy с использованием этих инструментов. Приложение, что примечательно, с открытым исходным кодом и доступно на GitHub.
Читать полностью »

После того, как Apple представила абсолютно новый язык программирования Swift, он не перестает быть предметом активного обсуждения на форумах разработчиков и в курилках dev-конференций. Учить язык можно уже сейчас — Apple соорудила подробный мануал по своему детищу. Правда, только на английском.

Недавно к нам обратился клиент, который хотел исправить этот недостаток и перевести документацию по Swift на русский язык. Благо переводчикам в Alconost не привыкать к задачам по техническому переводуЧитать полностью »

Привет!

По причине недавно возникшей необходимости, пришлось писать под iOS, и я заметил сильную нехватку гайдов на русском языке даже для элементарных действий вроде «прицепить к нажатию кнопки какое-то действие», «считать данные из текстового окошка». Статья для начинающих разработчиков под iOS, прошу таких под кат.
Читать полностью »

Всем привет! Меня зовут Клеменс Ауэр, я занимаюсь разработкой десктопной версии Яндекс.Диска. Когда появился новый REST API, я был настолько впечатлен открывшимися возможностями, что в свободное время начал писать на его основе SDK для нового языка Swift. Я решил рассказать о своем опыте работы новым API и выступил с небольшим докладом о том, как просто начать с его помощью писать собственное приложение. Доклад был на английском, но по-русски я тоже говорю, хотя не так хорошо. На основе своего выступления я подготовил сегодняшний пост, с которым мне помогали мои коллеги.

Начать я хотел бы с некоторых общих вещей о Диске — скорее всего, большую часть из этого вы уже слышали. Затем я расскажу, почему же меня так впечатлил новый API и чем он отличается от WebDAV. Ну а ближе к концу я поделюсь опытом того, как начать разрабатывать под новый API, и разберу несколько примеров своего кода. Его будет совсем немного, но с новым API, чтобы заставить что-то работать, код писать практически не требуется.
Читать полностью »

С выходом iOS 8 компания Apple представила новою концепцию под названием App Extensions, с помощью которой, Вы сможете делиться функциональностью Вашего приложения с другими приложениями, и из самой ОС.

Один из этих типов расширений являются Today Extensions, также известные как Widgets. Они предоставляют Вам возможность вводить информацию в Центр Уведомления, который является отличным способом предоставления самой актуальной информации, которой интересуется пользователь.

В этой статье, Вы напишете приложение на основе расширения Today Extension, которое представит текущую рыночную стоимость Bitcoin на основе доллара США.

Еще никогда не было так просто и так быстро предоставлять нужную информацию для Ваших пользователей. Давайте начнем!
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js