Swift

2 июня 2014 года на конференции WWDC был представлен язык программирования Swift. Также Apple представила пару бесплатных руководств по использованию языка на сервисе "iBook Store".

Язык можно использовать начиная с Xcode 6 beta, который можно скачать зарегистрированным Apple Developer, с сайта developer.apple.com.

Поскольку пока это beta реализация, то и рассматривать какие либо аспекты рано, но все-же хочется отметить, что утверждение о легкой возможности использования Swift и Objective-C в одном проекте - от лукавого, вся связь осуществляется через бриджевый заголовочный файл. Использование совместно с классическим Си вообще превращается в ад, вызовы Си функций делают код на Swift громоздким и нечитабельным. Apple советует сначала сделать обертку (wrapper) для Си кода на Objective-C, и затем включить этот wrapper в свой код на Swift. Учитывая, что вся прелесть OS X и iOS состоит в том, что это BSD системы и множество открытого кода написано на Си, это глобальный недостаток.

Еще одно недоразумение (пока), в swift нет обработки исключений, и это при том, что в Cocoa API многие функции могут их возбуждать, swift просто роняет приложение!

Apple анонсироала Swift как язык легкий для изучения и вхождения в процесс программирования под iOS и OS X, большего количества программистов, однако если программист не в состоянии освоить Си и Objective-C, то о каком вхождении может вообще идти речь? Вся легкость и краткость кода ограничивается только написанием приложения "Hello World", как только вы начинаете использовать Cocoa, наступает полный п*здец. Многие вызовы Cocoa и Cocoa Touch возвращают объект id, в Swift называемый AnyObject (уже длиннее, где же краткость), вот пример одного и того же вызова:

Objective -C

NSView* view = myWindow.contentView;

Swift

let view : NSView = (myWindow.contentView) as NSView

Это весьма простой пример, показывающий не очень-то удобочитаемое сочетание Swift и Cocoa вызовов.

 
 
homeЗаметили ошибкукарта сайта 
   Made on a Mac