Страницы

Поиск по вопросам

воскресенье, 8 декабря 2019 г.

Стоит ли начинать писать на Apple Swift? [закрыт]

#ios #objective_c #swift


        
             
                
                    
                        
                            Closed. This question is off-topic. It is not currently
accepting answers.
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            Want to improve this question? Update the question so
it's on-topic for Stack Overflow на русском.
                        
                        Closed 4 года назад.
                                                                                
           
                
        
Доброе время суток! В общем в скорем времени предстоит написать проект под iOS, по
объемам не маленький, раньше сентября не выйдет, необходим от 6 iOS, вопрос вот в чём,
есть ли смысл начинать реализовывать на Swift? Или же писать на старом, добром Objective-C?
Что вы думаете по этому поводу? Интересно узнать ваше мнение.    


Ответы

Ответ 1



Apple Swift не поддерживает платформы ниже Mac OS X 10.9, iOS 7.0. К тому же до тех пор пока не будет стабильной версии Xcode 6 вы не сможете задеплоить в аппстор Ваше приложение (что произойдет вероятно осенью, после следующего Apple-ивента).

Ответ 2



Я сейчас пишу на Swift огромный проект (Аэрофлот iPad) и все ок, бывают небольшие проблемы с самим xCode (автокомплит отваливается постоянно, сама IDE крешится время от времени, возникают совершенно идиотские проблемы) и несколько функций языка еще недоделаны (например, override var) да и пока нельзя засабмитить проект в стор, но к осени все должно быть. На самом деле, Swift здорово сокращает время разработки такими вещами, как мощные конструкции switch, pattern matching, associated values в enums и многое другое. все это дело отлично дружит с Objective-C классами и категориями и одном проекте Разрабатываю на Swift fulltime недели 3, полет нормальный! Коротко опишу ситуацию: Проект был под iPhone на Objective-C, сейчас iPhone практически готов, сделали из проекта universal, добавили сториборд для iPad. Само-собой модель данных, сервер-клиент взаимодействие и некоторая логика вынесены и готовы для iPhone проекта в Objective-C. Все, что делается под iPad - делается на Swift, при этом используюется огромное количество классов, написанных ранее на Objective-C. Иногда, значительно реже, в Objective-C используются классы или категории, написанные на Swift. С этим проблем не выявил. Пока самая большая проблема - xCode 6, он реально глючит, в остальном работать можно даже с реально большими проектами, самое главное, смотрите, чтобы ваш дедлайн не стоял раньше сентября, иначе не залиться в App Store! В остальном - настоятельно рекомендую к изучению и использованию и говорю это как человек, разрабатывающий на Objective-C уже более 3.5 лет! По поводу доступа к Swift классам из Objective-C: во-первых, все классы (или протоколы), доступ к которым будет нужен, должны начинаться с ключевого слова @objc, например: @objc class MyClass : NSObject /* or any NSObject subclass */ { } @objc protocol MyProtocol { } во-вторых, в документации не точно указано, если у вас только один дефалтовый модуль, то есть вы НЕ создавали отдельно других, вам нужно импортить только MyProject-Swift.h то есть просто в нужном месте пишем: #import "MyProject-Swift.h" далее мне доступны все классы и протоколы, написанные на Swift с пометкой @objc Никаких дополнительных настроек в проекте выставлять не потребовалось, проект изначально был создан в xCode 5.1, думаю, что проекты, созданные в xCode 6 Beta не должны и подавно требовать дополнительных настроек, хотя не проверял... Надеюсь, это поможет, а то в комментах много вопросов на эту тему, всем удачи!

Ответ 3



В общем, поработав на чистом Swift'e - в целях обучения на небольшом проекте - могу сказать, что язык понравился, за исключением некоторых вещей. Например вместо set теперь =, вместо [] теперь . - мелочи, но уж до боли не привычно как-то всё, потом удивило, назначить на кнопку Action - теперь строкой писать нужно - из-за этого возникили у меня проблемы, так как компилятор её не проверяет, а я почему-то не подумал туда сразу посмотреть, но у языка есть будущее :) Но я думаю, что чтоит начинать писать на Swift'e, так как в будущем его Apple ещё дальше пропехнёт, вопрос только когда вы потратите время на "обучение", сейчас или через некоторое время, поддерживаемые версии по заявлеием от 7, но у меня и на 6 работает (возможно временно).

Ответ 4



Swift типа официально вышел. Мне хватило нескольких видеоуроков для знакомства со ним. Раньше мне просто не нравился его синтаксис, теперь я обнаружил я одну вещь, которая может превратить абсолютно любой проект в АД. Я имею в виду ПОЛНОЕ ОТСУТСТВИЕ неявного приведения типов, которое касается не только классов. Простой пример - объявите 2 переменные: целочисленную и дробную - и попробуйте их сложить. НИЧЕГО НЕ ПОЛУЧИТСЯ без приведения целого числа к дробному. А теперь представьте, сколько формул может быть в проекте. Да вы повеситесь каждую переменную переводить в дробный тип

Комментариев нет:

Отправить комментарий