iOS 앱 개발을 배우기 위해 Swift나 Objective-C를 사용해야 하나요?
게시 됨: 2017-02-04새 프로젝트를 시작할 때마다 고려해야 할 엄청난 요소가 있기 때문에 프로젝트에 Objective-C를 사용할지 Swift를 사용할지 결정하는 것이 항상 쉬운 것은 아닙니다. 대부분의 iOS 앱 개발 학습자가 가장 많이 묻는 질문인 이 주제에 대해 토론합니다.
가장 적절한 언어를 선택하는 것은 프로젝트와 팀의 상황과 선호도, 하나의 프로그래밍 언어에 대한 충성도에 달려 있습니다. Objective-C 또는 Swift 플래그를 흔드는 대신 프로젝트 범위, 규모, 팀 구성 및 기술적 고려 사항과 같이 한 언어를 다른 언어보다 가리키는 프로젝트의 모든 측면을 고려하고 있습니다.
2014년에 Apple은 커뮤니티 전체를 놀라게 한 완전히 새로운 프로그래밍 언어인 Swift를 출시했습니다. 지난 2년 동안 Swift 핵심 팀은 빠르게 반복하여 수많은 언어 버전을 출시하여 커뮤니티의 기쁨과 충격을 주었습니다.
기존 개발자에게 Swift는 흥미로운 의미가 있으며 iOS 개발을 배우려는 신규 사용자에게 약간의 복잡성도 도입했습니다. Mac 또는 iOS 개발을 이미 알고 있고 새로운 언어를 배우고 형성하는 데 도움을 주고자 하는 모든 개발자에게 좋은 옵션입니다.
그러나 단지 실험을 하고 싶었고 iOS 개발자 직업을 갖고 싶지 않고 배우는 동안 추가 버그를 처리하는 데 신경 쓰지 않는 수많은 개발자가 있습니다.
스위프트를 배워야 하는 이유
프로그래밍의 기본을 정리하기 위해 Swift는 작업하기 훨씬 쉬운 언어인 반면 Objective-C는 30년이 넘었고 우리가 컴퓨터와 상호 작용하는 방법에 대해 다른 고려 사항을 만들어야 했던 시기에 작성되었습니다.
이러한 모든 요소는 프로그래밍의 기초를 배우는 것을 어렵게 만들 수 있으므로 오늘날 알고 이해하는 것이 매우 중요합니다. 게다가 프로그래밍의 기본은 Objective-C보다 Swift로 이해하기 훨씬 쉽습니다. Swift를 배워야 하는 다양한 이유를 살펴볼까요?
안전한
Apple은 Swift를 출시할 때 안전하고 현대적이며 강력하다고 주장했지만 모더니즘과 프로그래밍 언어의 힘은 절대 초보자에게는 거의 의미가 없으며 안전이 주로 중요합니다.
가장 어려운 것은 프로그래밍 방법을 배울 때 무엇이 잘못되었는지 모른다는 것입니다. 글쎄, 당신 자신에게서 그것을 알아내고 그것으로부터 배우면 많은 이점이 있습니다. 그러나 적절한 피드백이 부족하면 일정이 지연될 수 있습니다.
Swift를 사용하면 전체 범주의 실수나 오류가 발생하는 것을 방지하고 우리가 무엇을 잘못하고 있는지 반복적으로 알릴 수 있습니다. 이에 더하여, Swift는 훨씬 더 안전하며 코드 작성 경험을 덜 답답하게 만들어 당신에게 이점을 줄 것입니다.
고도로 상호 작용하는 환경
Swift 외에도 Apple은 초보자가 코딩 방법을 배우는 데 도움이 되는 두 가지 대화형 코딩 환경도 출시합니다. 모든 초보자가 코딩을 배울 수 있도록 도와주는 환경인 Xcode Playgrounds가 있습니다.
Xcode라는 Mac 앱의 환경이자 일부인 Xcode Playgrounds가 있으며 이를 통해 Swift를 배우고 탐색하고 앱의 일부를 프로토타입하고 다른 사람을 위한 학습 환경을 개발할 수 있습니다.
Xcode Playgrounds와 동일한 대화형 환경을 제공하지만 훨씬 더 조사적인 방식으로 iPad의 하드웨어를 사용할 수 있는 Swift Playgrounds라는 iPad 앱을 찾을 수도 있습니다.
Swift의 가장 좋은 점은 다른 어떤 것보다 훨씬 매력적이며 즉각적인 피드백을 제공하여 전체 개념을 쉽게 배울 수 있다는 것입니다. 이러한 유형의 환경은 Swift에게 쿨하지 않지만 Apple은 모든 초보자가 쉽게 배울 수 있도록 iPad 앱으로 멋진 일을 하고 있습니다.
현대의
Swift는 풍부한 측면과 함께 제공되는 고도로 현대적인 언어로, 초보자가 Objective-C보다 쉽게 읽고 쓸 수 있습니다. 웹에서 작성된 것을 볼 수 있으며 일단 사용 경험이 충분하면 모든 것이 훨씬 더 이해하기 쉬우므로 문제가 되지 않습니다.
코드를 읽는 데 걸려 넘어지지 않고 개념을 파악하는 것은 쉽지 않습니다. 줄 끝에서 세미콜론을 잊어버리면 프로그램이 충돌하지 않습니다.
익숙해지면 사소한 일입니다. 그러나 Swift가 초보자를 위해 테이블에 제공하는 것은 확실히 유익합니다. Swift는 매우 현대적이며 많은 사람들의 진입 장벽을 낮추어 개념에 집중하는 것을 훨씬 간단하게 만듭니다.
요컨대, iPhone 개발을 배우기 위한 여정의 첫 번째 단계인 프로그래밍의 기초를 배우고 이해하는 것입니다. 언어가 제공하는 모더니즘과 안전성은 모두 진입 장벽을 낮추는 데 기여합니다.
Objective-C를 배워야 하는 이유
점차적으로, 대답은 해가 지남에 따라 변할 것이고 Swift는 커뮤니티에서 더 많이 진출할 것입니다. 그러나 Objective-C는 약 10년 동안 iOS 개발을 위한 사실상의 언어였기 때문에 한 가지 알아야 할 사항이 있습니다. 게다가, MacOS 개발자가 되고 싶다면 Objective-C는 80년대부터 첫 번째 선택이었습니다.
요컨대, iOS SDK의 모든 것은 Objective-C로 개발되었으며 Objective-C 프로그래밍 모델과 훌륭하게 작동합니다. Swift로 코드를 작성하고 있지만 모두 Objective-C로 작성된 구성 요소와 상호 작용하게 됩니다. Objective-C가 훨씬 더 오래 사용되었기 때문에 타사 라이브러리와 프레임워크는 주로 Objective-C에 있습니다.
또한 블로그 게시물, 책, 회의 비디오 등과 같은 학습 리소스의 파괴적인 대부분은 모두 Objective-C에 있습니다. 따라서 어떤 불가사의한 문제에 대한 도움을 받기 위해 인터넷을 켜면 Objective-C 코드를 읽을 가능성이 높습니다. Swift 커뮤니티는 열렬한 커뮤니티이며 Swift에는 수많은 리소스가 있으므로 도움을 받는 데 어려움이 있을 것이라고 생각하지 마십시오.

진지한 iOS 개발자가 되기로 결정했다면 Objective-C 코드도 읽고 쓰는 것이 중요합니다. 주된 이유는 iOS 개발자로 취직하거나 오래된 프로젝트를 받으면 모든 코드가 Objective-C로 작성되기 때문입니다.
그러나 우리가 iOS 개발에 사용하는 도구는 Swift에 최적화되어 있지 않고 거기에 도달하고 있지만 이러한 도구는 Objective-C에서 훨씬 더 좋습니다. 대부분의 회사에서 Objective-C는 여전히 선택의 개발 언어입니다.
두 언어를 모두 배워야 합니까?
선두 기업인 Apple이 단순히 재미를 위해 새로운 언어를 출시한 것은 아닙니다. 회사는 핵심 팀과 커뮤니티에서 채택을 촉진하고 명확한 표시를 전달하려는 노력에 의해 이 새로운 언어를 발표했습니다.
회사는 이 고급 언어를 자사 플랫폼의 미래로 보고 있습니다. Swift 언어의 주요 목표는 iOS 개발을 넘어 서버 측 Swift를 위해 진행 중인 것과 잘 작동하도록 확장하는 것입니다.
장기적으로 이 커뮤니티의 일원이 되기로 결정했다면 Swift가 주요 개발 언어가 됩니다. Swift 채택에 관계없이 Objective-C는 여전히 아무데도 가지 않습니다. 회사는 여전히 언어에서 많은 개선을 시도하고 있습니다.
애플리케이션을 완전히 Swift로 작성하는 것이 가능합니다. 그러나 때때로 Objective-C에 빠져야 할 가능성이 높습니다. iOS 개발에서 상당히 어려운 부분인 초보자로서 이 작업을 수행할 때 주의해야 합니다. 한 프로그래밍 언어에 익숙해지면 다른 언어를 배우는 것이 어렵지 않을 것입니다.
Objective-C와 Swift 중에서 선택할 때 기술적 고려 사항을 찾으십시오.
Objective-C와 Swift 언어는 모두 다양한 기술적 이점을 얻었습니다. 아래에서 염두에 두어야 할 요소를 찾을 수 있습니다.
언어 런타임
Objective-C 런타임이 Swift 런타임보다 더 강력하다는 것을 알고 계십니까? Swift의 런타임은 심지어 Objective-C의 런타임에 가깝고 몇 년이 지나도 가능하지 않을 것입니다. 객체 및 유형에 대한 리플렉션 및 심층 성찰을 통해 이점을 얻을 수 있는 코드를 작성하기로 결정했다면 Objective-C는 생각할 필요가 없습니다.
코드 안정도
Swift는 강력한 타이핑 시스템과 오류 처리 때문에 Objective-C보다 더 안전한 프로그래밍 언어입니다. 관용적인 Swift를 따르는 경우 코드에서 모든 잠재적인 오류 사례를 설명할 수 있습니다.
그렇다고 모든 것을 잡는 것은 아닙니다. 유지 주기에서 메모리 탈출은 Swift 코드에서 Objective-C와 마찬가지로 널리 퍼진 오류의 한 예입니다. Swift의 비자발적 참조 카운팅 시스템이 움직이지 않기 때문입니다.
툴링 지원
Xcode의 전체 팀은 Swift를 지원하기 위해 빌드 프로세스를 업그레이드하는 놀라운 작업을 수행했습니다. 팀은 복잡한 언어를 적용하고 매우 다른 언어로 작업하도록 지원해야 했습니다. IDE 자체가 지연되고 Swift에 대한 도구 지원이 가장 적다는 사실에 약간의 놀라움이 있습니다.
때로는 운이 좋게 구문 강조 표시를 얻을 수 있습니다. 많은 시간에 자동 완성 없이 갈 것입니다. 최신 IDE가 제공하는 강력한 지원을 좋아하는 사람 중 하나라면 Objective-C를 고수하거나 대체 IDE를 평가하는 것이 좋습니다. 가장 일반적인 대안은 AppCode입니다. 그러나 emacs에 대한 올바른 설정을 가진 사람이 있습니다.
Foundation API 작업
만들려고 계획한 응용 프로그램은 기본 기반 API를 사용하므로 Objective-C를 사용해야 합니다. Swift가 몇 가지 멋진 래퍼를 제공하고 메모리 관리를 좀 더 매끄럽게 만드는 것은 사실입니다. 그러나 이들은 여전히 Objective-C 코드베이스에 더 자연스럽게 맞는 C API 및 C 기반 함수 호출입니다.
C++ 코드 사용
기초 API와 마찬가지로 C++ 라이브러리를 사용하거나 Objective-C 프로젝트에 적합하므로 크로스 플랫폼 C++ SDK 위에서 개발할 수 있습니다. C++를 Swift 파일로 가져올 수 없습니다.
Swift를 사용하려면 Objective C 및 C++ 래퍼 클래스를 만드는 지루하고 버그가 많은 작업을 거쳐야 합니다. 매번 링크와 추가 오버헤드가 필요하고 C++ 라이브러리의 다른 부분을 사용하려고 합니다. Objective-C는 C++를 사용하려는 경우 올바른 옵션입니다.
미래 경쟁력
가장 미래 지향적인 프로젝트가 Swift로 작성된 프로젝트라는 것을 알고 계십니까? Swift의 사용은 세 번째 오픈 소스 Cocoa 프로젝트에 활용되도록 확장되었습니다. 앞으로 4년 안에 Objective-C와 동등해질 것입니다. 게다가, 대부분의 새로운 튜토리얼과 블로그는 이미 Swift로 작성되고 있습니다.
우리는 5년에서 10년 이내에 Objective-C를 이해하기 위한 요구 사항을 반박할 수 있는 Swift에 대한 충분한 정보가 있어야 한다고 엄격하게 믿습니다. Objective-C가 사라지기 전에 코드를 변환할 충분한 시간을 갖게 됩니다. 따라서 생각을 위해 이것을 유지할 수 있습니다.
결론
따라서 개발자가 iOS 앱 개발을 위해 Objective-C와 Swift 사이에서 결정할 때 고려해야 하는 가장 일반적인 요소입니다. 프로젝트에 추가 고려 사항이 포함될 가능성이 있으며 일반적으로 대량의 앱에서는 다루지 않습니다. 그러나 Objective-C와 Swift를 모두 능숙하게 다룰 수 있는 경험 많은 iOS 개발자를 찾고 있다면 iPhone 앱 개발 회사에 문의할 수 있습니다.