ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ธ Java๋ ์ฌ๋ฌ ๊ธฐ์ ๋ถ์ผ์์ ๋ค์ํ ๋ชฉ์ ์ผ๋ก ๋๋ฆฌ ์ฌ์ฉ๋์ง๋ง ๋ชจ๋ฐ์ผ ๊ฐ๋ฐ์ ํญ์ ๊ทธ ์์น๊ฐ ๊ฐํ๊ณ ์์ฅ์์ ๊ทธ ์ค์์ฑ์ด ๋ถ์ธํ ์ ์๋ ๋ถ์ผ์
๋๋ค. Java๋ 2008๋
์ถ์ ์ดํ Android ํ๋ซํผ์ ๊ธฐ๋ณธ ์ธ์ด์์ผ๋ฉฐ ํ๋ซํผ ์์ฒด๋ Java๋ก ์์ฑ๋์์ผ๋ฉฐ ์ด ์ธ์ด๋ ์ฌ์ ํ Android ๊ฐ๋ฐ์๊ฐ ์ ํธํ๋ ํต์ฌ ์ธ์ด๋ก ๊ฐ์ฃผ๋ฉ๋๋ค. Google์ 2017๋
์ Android ๊ฐ๋ฐ์ ์ํด Kotlin์ ๋์
ํ์ง๋ง Java๋ Java ๊ฐ๋ฐ์์ ๋ํ ์์๊ฐ ํญ์ ๋์ ์ด ๋ถ์ผ์์ ์ฌ์ ํ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ์ธ์ด์
๋๋ค. ๊ทธ๋์ ์ค๋์ ์๋ฐ ๊ฐ๋ฐ์๋ฅผ ์ํ ์ ๋ฌธ ๋ถ์ผ์ธ ๋ชจ๋ฐ์ผ ๊ฐ๋ฐ, ์ด ์์ฅ์ ๋ํด ์์์ผ ํ ์ฌํญ, ์ทจ์
์ ์ํด ๊ฐ์ถฐ์ผ ํ ์๊ฒฉ ์๊ฑด, ์๋ฐ๋ก ๋ฐ์ ์ ์๋ ๊ธ์ฌ ์ข
๋ฅ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ๋ชจ๋ฐ์ผ ๊ฐ๋ฐ์.
์๋ฐ ๋ชจ๋ฐ์ผ ๊ฐ๋ฐ์๋ฅผ ์ํ ์๊ตฌ ์ฌํญ
Java ๋ชจ๋ฐ์ผ ๊ฐ๋ฐ์๋ก ์ทจ์ ํ๋ ค๋ฉด ์ด๋ค ๊ธฐ์ ๊ณผ ๊ฒฝํ์ด ์์ด์ผ ํฉ๋๊น? ์ฐ๋ฆฌ๋ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ์๊ตฌ ์ฌํญ ๋ชฉ๋ก์ ์ ์ํ๊ธฐ ์ํด ์ ํํ ์ง์์ ์ผ๋ถ ์ ์ฌํ ์งํจ(์: Java Android Developer)์ผ๋ก ํ์ฌ ์ด๋ ค ์๋ ์ง์ฑ ์ ๋ํ ์ฌ๋ฌ ์ง๋ฌด ์ค๋ช ์ ๋ถ์ํ์ต๋๋ค. ์ฒซ์งธ, ๊ฑฐ์ ๋ชจ๋ ์ง์ ์ค๋ช ์๋ ์ผ๋ฐ์ ์ผ๋ก Java ๋ฐ ์ผ๋ฐ์ ์ผ๋ก ๋ชจ๋ฐ์ผ ๊ฐ๋ฐ์ ๋ํ ์ด์ ๊ฒฝํ์ด ํฌํจ๋๋ฉฐ ์ผ๋ฐ์ ์ผ๋ก 2~4๋ ์ด์์ ๋๋ค. ๋ค์์ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๊ณต์์ ๋๋ค.- Java ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ์ง์.
- 2๋ ์ด์์ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ๊ฒฝํ.
- Java๋ฅผ ์ฌ์ฉํ ์ํฐํ๋ผ์ด์ฆ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ๋ถ์ผ์์ 4๋ ์ด์์ ๊ฒฝ๋ ฅ.
- 2๋ ์ด์์ iOS ๋ฐ/๋๋ Android ๊ฐ๋ฐ ๊ฒฝํ.
- ๋ชจ๋ฐ์ผ ๊ฐ๋ฐ์๋ก์ ๊ฒ์ฆ๋ ๊ฐ๋ฐ ์ํํธ์จ์ด๋ฅผ ๊ฐ๋ฐํ 3๋ ์ด์์ ์ ๋ฌธ ๊ฒฝํ์ด ์์ด์ผ ํฉ๋๋ค.
- Android SDK, XCode ๋๋ Android Studio, ๋จ์ ํ ์คํธ, REST API.
- Kotlin์ ์ง์ ์ฒดํํด ๋ณด์ธ์.
- IntelliJ IDEA, Eclipse ๋ฐ ๊ธฐํ IDE ์์ ๊ฒฝํ.
- REST API ๊ฐ๋ฐ ๋ฐ ํตํฉ ์์ ๊ฒฝํ.
- Java Core, J2EE, Spring, MVC, ์น ์๋น์ค, Hibernate, HTML, CSS์ ๋ํ ์ค๋ฌด ๊ฒฝํ.
- ํ์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํตํฉํ๋ ์ค์ต ๊ฒฝํ(๋ชจ๋ํฐ๋ง, ๋ถ์, ์๋ฆผ ๋ฑ).
- REST/SOAP ์๋น์ค๋ฅผ ์ฌ์ฉํ ์ค์ต ๊ฒฝํ.
Java ๋ชจ๋ฐ์ผ ๊ฐ๋ฐ ๋๊ตฌ ๋ฐ ๊ธฐ์
์ด์ Java ๋ชจ๋ฐ์ผ ๊ฐ๋ฐ์๋ก ์ผํ๊ธฐ ์ํด ์์์ผ ํ ๋๊ตฌ์ ๊ธฐ์ ์ ๋ํด ์์ธํ ์ด์ผ๊ธฐํ๊ฒ ์ต๋๋ค.1. ์๋๋ก์ด๋ ๋๊ตฌ.
Android Studio๋ IntelliJ IDEA IDE๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉฐ Android ๊ฐ๋ฐ์์ ์๊ตฌ ์ฌํญ์ ๋ง๊ฒ Google์์ ์ค๊ณํ Android ์ด์ ์ฒด์ ์ฉ ๊ณต์ โโํตํฉ ๊ฐ๋ฐ ํ๊ฒฝ(IDE)์ ๋๋ค. Android Studio์ ๊ตฌ์กฐํ๋ ์ฝ๋ ๋ชจ๋์ ์ฌ์ฉํ๋ฉด ํ๋ก์ ํธ๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก ๋น๋, ํ ์คํธ ๋ฐ ๋๋ฒ๊ทธํ ์ ์๋ ๊ธฐ๋ฅ ๋จ์๋ก ๋๋ ์ ์์ต๋๋ค. Google์ Android ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ์ํ ๊ธฐ๋ณธ IDE๋ก์ Eclipse ADT(Android Development Tools)๋ฅผ ๋์ฒดํ๊ธฐ ์ํด 2013๋ ์ Android Studio๋ฅผ ์ถ์ํ์ต๋๋ค.
Android Virtual Device(AVD)๋ Android Emulator์์ ์๋ฎฌ๋ ์ด์ ํ๋ ค๋ Android ํด๋์ ํ, ํ๋ธ๋ฆฟ, Wear OS, Android TV ๋๋ Automotive OS ๊ธฐ๊ธฐ์ ํน์ฑ์ ์ ์ํ๋ ๊ตฌ์ฑ์ ๋๋ค. AVD Manager๋ AVD๋ฅผ ๋ง๋ค๊ณ ๊ด๋ฆฌํ๋ ๋ฐ ๋์์ด ๋๋ Android Studio์์ ์คํํ ์ ์๋ ์ธํฐํ์ด์ค์ ๋๋ค.
ADB(Android ๋๋ฒ๊ทธ ๋ธ๋ฆฌ์ง)๋ ๊ธฐ๊ธฐ์ ํต์ ํ ์ ์๋ ๋ค๋ชฉ์ ๋ช ๋ น์ค ๋๊ตฌ์ ๋๋ค. ADB ๋ช ๋ น์ ์ฑ ์ค์น ๋ฐ ๋๋ฒ๊น ๊ณผ ๊ฐ์ ๋ค์ํ ์ฅ์น ์์ ์ ์ฉ์ดํ๊ฒ ํ๋ฉฐ ์ฅ์น์์ ๋ค์ํ ๋ช ๋ น์ ์คํํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ Unix ์ ธ์ ๋ํ ์ก์ธ์ค๋ฅผ ์ ๊ณตํฉ๋๋ค.
2. IntelliJ IDEA.
IntelliJ IDEA ๋ Java๋ก ์์ฑ๋ IDE์ด๋ฉฐ ์ค๋๋ Java ๊ฐ๋ฐ์๋ค ์ฌ์ด์์ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ IDE๋ก ๊ฐ์ฃผ๋ฉ๋๋ค. IntelliJ IDEA ๊ฒฝํ์ Java ๋ชจ๋ฐ์ผ ๊ฐ๋ฐ์์๊ฒ ๋งค์ฐ ์ผ๋ฐ์ ์ธ ์๊ตฌ ์ฌํญ์ ๋๋ค. ๊ทธ๋ฐ๋ฐ CodeGym ํ์๋ค์ CodeGym์ IDEA ํ๋ฌ๊ทธ์ธ ๋๋ถ์ ๊ณผ์ ์ ์งํํ๋ ์ฆ์ ์ด IDE์ ์ต์ํด์ง๊ธฐ ์์ํ ์ ์์ผ๋ฏ๋ก ์๋ฃํ ๋์ฏค์ด๋ฉด ์ด๋ฏธ ์ด ๋๊ตฌ์ ๋ํ ์ถฉ๋ถํ ๊ฒฝํ์ด ์๋ ๊ฒ์ ๋๋ค.3. ๋น์ฃผ์ผ ์คํ๋์ค.
Visual Studio๋ Microsoft์ ๊ณต์ ๋ฌด๋ฃ IDE์ ๋๋ค. Java ๋ฐ ๊ธฐํ ์ฌ๋ฌ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ง์ํ๋ฉฐ Windows, Android ๋ฐ iOS์ฉ ๊ธฐ๋ณธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์์ต๋๋ค. Visual Studio๋ ํ๋ซํผ ๊ฐ ๋ชจ๋ฐ์ผ ์ฑ ๋ฐ/๋๋ ๊ฒ์์ ๋ง๋ค๋ ค๋ ๊ฐ๋ฐ์์๊ฒ ๋งค์ฐ ์ผ๋ฐ์ ์ธ ๋๊ตฌ์ ๋๋ค.4. ์์์์คํ .
OutSystems ๋ ์๋น์ ์ฑ๊ณผ ์ํฐํ๋ผ์ด์ฆ ์ ํ์ ํฌํจํ์ฌ ๋ชจ๋ ์ข ๋ฅ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๊ณ ๋ฐฐํฌํ ์ ์๋ ๋ค์ํ ๋๊ตฌ๋ฅผ ๊ฐ๋ฐ์์๊ฒ ์ ๊ณตํ๋ ๋ก์ฐ ์ฝ๋ ์ ์ฒด ์คํ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ํ๋ซํผ์ ๋๋ค.5. ์๋ง๋ฆฐ.
Xamarin ์ .NET ๋ฐ C#์ ์ฌ์ฉํ์ฌ Android, iOS, tvOS, watchOS, macOS ๋ฐ Windows ์ฑ์ฉ ๊ธฐ๋ณธ ์ฑ์ ๋น๋ํ๊ธฐ ์ํ Microsoft ์์ ์ ๋ฌด๋ฃ ์คํ ์์ค ๋ชจ๋ฐ์ผ ์ฑ ํ๋ซํผ์ ๋๋ค. ์ด ํ๋ซํผ์ Java์์ ์ฌ์ฉํ ์ ์๋ ๋ช ๊ฐ์ง ์ค์ํ C# ๊ธฐ๋ฅ์ ์ถ๊ฐํด์ผ ํ ๋ ์์ฉ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค.6. ๋ฐ์ด์ .
Vysor ๋ ์ปดํจํฐ์์ Android ๊ธฐ๊ธฐ๋ฅผ ๋ณด๊ณ ์ ์ดํ ์ ์๋ ๋ค์ ๋จ์ํ ์๋ฎฌ๋ ์ด์ ์๋ฃจ์ ์ ๋๋ค.7. ์คํ ํ .
Stetho ๋ Facebook์์ ๊ฐ๋ฐํ Android ์ ํ๋ฆฌ์ผ์ด์ ์ฉ ์คํ ์์ค ๋๋ฒ๊ทธ ๋ธ๋ฆฌ์ง์ ๋๋ค. ์ฌ์ฉํ๋๋ก ์ค์ ํ๋ฉด ๊ฐ๋ฐ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก Chrome ๋ฐ์คํฌํฑ ๋ธ๋ผ์ฐ์ ์ ์ผ๋ถ์ธ Chrome ๊ฐ๋ฐ์ ๋๊ตฌ ๊ธฐ๋ฅ์ ์ก์ธ์คํ ์ ์์ต๋๋ค. ๊ฐ๋ฐ์๋ ๋ํ ์ ํ๋ฆฌ์ผ์ด์ ๋ด๋ถ์ ๊ฐ๋ ฅํ ๋ช ๋ น์ค ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ ์ ํ์ dumpapp ๋๊ตฌ๋ฅผ ํ์ฑํํ๋๋ก ์ ํํ ์ ์์ต๋๋ค.8. ๊ทธ๋ ์ด๋ค.
Gradle์ ๊ฑฐ์ ๋ชจ๋ ์ ํ์ ์ํํธ์จ์ด๋ฅผ ๊ตฌ์ถํ ์ ์์ ๋งํผ ์ ์ฐํ๊ฒ ์ค๊ณ๋ ์คํ ์์ค ์๋ํ ๋๊ตฌ์ ๋๋ค. 2013๋ Google์ Android ์ฑ ๊ฐ๋ฐ์ ์ํ ์์คํ ์ผ๋ก ์น์ธํ์ต๋๋ค. Gradle์ JVM์์ ์คํ๋๋ฉฐ Apache Maven ๋ฐ Apache Ant๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฏ๋ก Java ์ฑ, ํนํ ๋๊ท๋ชจ ์ํฐํ๋ผ์ด์ฆ ์ฑ ๊ฐ๋ฐ์ ์ํ ๋งค์ฐ ์ผ๋ฐ์ ์ธ ๋๊ตฌ๊ฐ ๋ฉ๋๋ค.9. AWS ๋ชจ๋ฐ์ผ SDK.
AWS Mobile SDK๋ AWS ํด๋ผ์ฐ๋ ์ปดํจํ ํ๋ซํผ์ ๊ธฐ๋ฐ์ผ๋ก ๋ชจ๋ฐ์ผ ์ฑ์ ๊ตฌ์ถํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. AWS Mobile ์๋น์ค์ ๋ํ ์ก์ธ์ค, ๋๋ฆฌ ์ฌ์ฉ๋๋ AWS ๋ฐ์ดํฐ ๋ฐ ์คํ ๋ฆฌ์ง ์๋น์ค์ ๋ํ ๋ชจ๋ฐ์ผ ์ต์ ํ ์ปค๋ฅํฐ, ๋ค์ํ ๊ธฐํ AWS ์๋น์ค์ ๋ํ ๊ฐํธํ ์ก์ธ์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. AWS Mobile SDK์๋ iOS, Android/Fire OS, Xamarin ๋ฐ Unity์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์ฝ๋ ์ํ ๋ฐ ์ค๋ช ์๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.์๋ฐ์ ์ฝํ๋ฆฐ
Java ๋ Kotlin ์ฃผ์ ๋ฅผ ์ธ๊ธํ์ง ์์๋ค๋ฉด Java ๋ฐ ๋ชจ๋ฐ์ผ ๊ฐ๋ฐ์ ๋ํ ๋ํ๊ฐ ๋ถ์์ ํ์ ๊ฒ์ ๋๋ค. Kotlin์ JetBrains์์ ๊ฐ๋ฐํ ์คํ ์์ค, ๊ต์ฐจ ํ๋ซํผ, ์ ์ ์ ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋๋ค. ์ฒ์ ๋ฑ์ฅํ ๊ฒ์ 2011๋ ์ผ๋ก ๊ฑฐ์ฌ๋ฌ ์ฌ๋ผ๊ฐ๋ฉฐ ์ด ์ธ์ด์ ๊ณต์ ์ถ์๋ 2016๋ ์ด์์ต๋๋ค. 2019๋ Google์ Kotlin์ด ์ด์ Android ์ฑ ๊ฐ๋ฐ์๊ฐ ์ ํธํ๋ ์ธ์ด๋ผ๊ณ ๋ฐํํ์ผ๋ฉฐ ์ด๋ก ์ธํด ๋ง์ ๊ฐ๋ฐ์๊ฐ Kotlin์ ๋ชจ๋ฐ์ผ ๊ฐ๋ฐ์ ๋ฏธ๋๋ก ๊ฐ์ฃผํ๊ณ ๋๋์ ๊ฐ๊ฒ ๋์์ต๋๋ค. Java์์ Kotlin์ผ๋ก ์ ํํด์ผ ํ ํ์์ฑ. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋ชจ๋ฐ์ผ ๊ฐ๋ฐ์ ์ฐธ์ฌํ๊ธฐ ์ํด Java์ ์ถ๊ฐ๋ก Kotlin์ ๋ฐฐ์์ผ ํ๋์ง ๊ถ๊ธํ ์ ์์ต๋๋ค. ์ด์ ๋ํ ๊ฐ๋ฐ์๋ค์ ์๊ฒฌ์ ์๊ฐ๋ฆฐ๋ค. Kotlin์ JVM์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉฐ ๊ธฐ์กด Java ์คํ๊ณผ ์๋ฒฝํ๊ฒ ํธํ๋๋ ์ ์ ์ ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋๋ค. Kotlin ์ฝ๋๋ Java๋ ๋ฌผ๋ก JavaScript, Android ๋ฐ Native๋ก ์ฝ๊ฒ ์ปดํ์ผํ ์ ์์ต๋๋ค. Java ์ฝ๋๋ฅผ Kotlin์ผ๋ก ๋๋ ๊ทธ ๋ฐ๋๋ก ๋ณํํ๋ ๊ฒ์ IntelliJ IDEA์ ๊ฐ์ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ IDE์ ๋ํ ์ฌ๋ฌ ๊ฐ์ง ๊ฐ๋จํ ๋ณํ๊ธฐ ํ๋ฌ๊ทธ์ธ ๋๋ถ์ ๋งค์ฐ ์ฝ์ต๋๋ค. ๊ทธ๋ฌ๋ Java์ Kotlin์๋ ๋ช ๊ฐ์ง ์ฐจ์ด์ ์ด ์์ต๋๋ค. ๋ค์์ ์ด ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๊ฐ์ ์ฃผ์ ์ฐจ์ด์ ์ ๋ํ ๊ฐ๋จํ ๋ชฉ๋ก์ ๋๋ค.- Kotlin์ ์ ํ ์ถ๋ก ์ ์ง์ํฉ๋๋ค(๋ณ์์ ๋ฐ์ดํฐ ์ ํ์ ์ง์ ํ ํ์ ์์).
- Kotlin์ ํ์ธ๋ ์์ธ๋ฅผ ์ง์ํ์ง ์์ต๋๋ค(Java๋ ํ์ธ๋ ์์ธ๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋ฅ ์ฒ๋ฆฌ๋ฅผ ์ํํจ).
- Java ์ปดํ์ผ ์๊ฐ์ ํ์ฌ Kotlin๋ณด๋ค 15~20% ๋ ๋น ๋ฆ ๋๋ค.
- Kotlin์์๋ ๋ชจ๋ ์ ํ์ ๋ณ์๊ฐ null์ ํ์ฉํ์ง ์์ต๋๋ค.
- Kotlin์์๋ ์ ํจ์๋ก ๊ธฐ์กด ํด๋์ค๋ฅผ ํ์ฅํ ์ ์์ต๋๋ค.
- Kotlin์ ์ค๋งํธ ์บ์คํธ๋ฅผ ์ง์ํฉ๋๋ค.
- Kotlin์ ๋๋ค, ์ฐ์ฐ์ ์ค๋ฒ๋ก๋ฉ, ๊ณ ์ฐจ ํจ์, ์ง์ฐ ํ๊ฐ ๋ฑ๊ณผ ๊ฐ์ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ๋ฒ์ ๊ด๋ฒ์ํ๊ฒ ์ง์ํฉ๋๋ค.
GO TO FULL VERSION