ios 코어가 좀 특이한 형태 같다. ios 코어가 정말 잘 만들어진 형태이면서 원래 이것이 최초가 아니었나 싶다. 다른 것들이 ios 를 참고해서 따라한 것 같아 보인다. 굉장히 잘 만들어진 거 같기두 하지만... 사용하기엔 조금 복잡성은 있는 듯 하다. 이 복잡한 것을 이 정도로 녹여내었다는 것이 대단하다. nodejs 는 코어가 이벤트루프에 단일스레드 기본이라 가장 간단하다. 보통 운영체제는 멀티쓰레드가 기본인데, nodejs (js 진영) 는 기본적으로 단일쓰레드에 이벤트루프로 Task 를 던져서 순차적으로 처리하는 방식인데 ios 는 GCD 랑 Operation 이라는 것으로 이벤트루프 비슷한 방식을 적용하면서도 그것을 멀티쓰레드에 적용을 하였다. UI 를 다루고 async 한 동작이 많아서 그..
iOS : AutoResizing, AutoLayout, SwiftUI, UIKit iOS 의 선언형 UI 로는 Swift UI 가 있다. 가장 일반적인 것은 스토리보드를 이용하는 것. 스토리보드로 하는 것을 숙지했다면 iOS 에서 기본 제공하는 코드로만 UI 짜는 방법을 학습하면 된다. 그리고 스냅킷 같은 써드파티는 검색하면서 컨셉 알아가면서 사용하면 된다. 스토리보드 vs 코드 vs 스냅킷... 이런 쉐어는 거의 3:3:3 으로 비슷하다. 프로젝트 별로 사용 여부에 따라 따라가면 된다. 스토리보드를 아예 안 쓸 수도 있고 화면전환만 안쓸 수도 있고 오토레이아웃을 안 쓸 수도 있고 모든 것이 선택사항이다. 스토리보드를 안쓰면 코드 타이핑 할 때 마다 디자인이 화면에 반영이 안되서 보고 싶을 때마다 빌드..
하이브리드앱으로는 다음과 같은 것들이 유명하다. React NativeIonic (Capacitor, Cordova)PWA with CordovaFlutter 이 중 Flutter 와 Ionic 을 추천한다. 아니다 막상 해보면 난 리액트 네이티브가 가장 좋아보인다.Ionic 을 사용한다면 React 를 사용할 것이고 Typescript 를 사용할 것인데웹을 함께 고려하여 만든다면 React Ionic 으로 기술을 통일하여 생산성을 증가 시키는 것도 좋을 것이다.하지만 기본적으로 Typescript 는 Javascript 에 타입을 만들어 사용하는 것이기에 그러한 부분을 고려하지 않는다면 애초에 타입이 있는 dart 를 사용하는 Flutter 가 나을 수 있다. UI 와 네이티브와 연결하는 메소드 채널 ..
https://developer.apple.com/documentation/uikit/app_and_environment/managing_your_app_s_life_cycle Apple Developer Documentation developer.apple.com https://developer.android.com/guide/components/activities/activity-lifecycle?hl=ko 활동 수명 주기에 관한 이해 | Android 개발자 | Android Developers 활동은 사용자가 전화 걸기, 사진 찍기, 이메일 보내기 또는 지도 보기와 같은 작업을 하기 위해 상호작용할 수 있는 화면을 제공하는 애플리케이션 구성요소입니다. 각 활동에는 사용자 인터페 developer...
https://blog.codemagic.io/environments-in-flutter-with-codemagic-cicd/ https://github.com/codemagic-ci-cd/codemagic-sample-projects/tree/main/flutter/flutter-flavors-demo-project https://medium.com/@animeshjain/build-flavors-in-flutter-android-and-ios-with-different-firebase-projects-per-flavor-27c5c5dac10b https://docs.flutter.dev/perf/app-size#reducing-app-size * Run Debug By default, flutter ..
https://www.youtube.com/watch?v=WlJszSmK_es
윈도우에서는 안드로이드 빌드 밖에 되지 않지만 윈도우 11 PC 의 속도와 편리함을 무시할 수 없기에 윈도우 환경에서 개발도 상당한 메리트가 있다. 그래서 관련 이슈를 정리. 윈도우 10 이나 윈도우 11 의 콘솔에서 yarn 이나 다른 명령어들 사용시 "이 시스템에서 스크립트를 실행할 수 없으므로..." 에러시... Get-ExecutionPolicy 로 확인. 아마도 Recstricted 로 되어 있을 것. get-help Set-ExecutionPolicy 전부 y 할 것. Set-ExecutionPolicy RemoteSigned 해주면 된다. 전부 y 할 것. eslint 의 CRLF , LF 문제 해결. https://simsimjae.medium.com/vscode%EB%A5%BC-%EC%8..
[DP, Android] RN 으로 작업할 때는 DP 라고 생각하고 그냥 디자인 받아서 width, height 값으로 작업하면 된다. 아래 코드는 그냥 참고용일 뿐. 대신 디자인을 받을 때 해상도가 좀 떨어질 경우 다시 좀 고해상도로 요청하면 된다. 디자이너도 DP 의 개념 단위로 작업을 해야 한다... (실제 작업은 고해상도 px 단위이지만 논리적으로는 DP 로 생각하고 작업해야한다.) DP 단위로 작업한다는 것은 비율적으로 작업한다는 의미이다. 한 픽셀 한 픽셀의 의미가 아니라 전체적인 비율로 작업하는 개념이어야 한다. 물론 그 전체적인 비율단위의 작업의 결과를 뽑아낼 때 한 픽셀 한 픽셀도 잘 맞아들어 가도록 정밀도 있게 작업하면 좋다. 하지만 실제 개발에 반영될 때 해당 이미지 자체는 거의 정확..
React Native 는 React 의 철학 중 Learn once, Write everywhere 에 맞게 모바일 앱 개발에 있어서도 View 단의 라이브러리를 제공하고 이를 중간에서 연결해주는 브릿징 기술을 제공한다. React Native 는 Android 와 iOS 의 네이티브 모듈의 기능을 가져와 사용할 수 있다. (다른 OS 도 가능하다) 이러한 기능을 제공하는 것이 NativeModules 이며 이는 iOS 에서는 RCTBridgeModule 이라는 프로토콜을 구현한 Objective-C 클래스이다. 아직 타입이라던가 지원이 잘 안되는 네이티브 기능들도 있는데 TurboModules 라는 것이 나오게 되면 개선될 것이라 한다. 업그레이드에 대비하자. 현재는 React Native 의 경우 ..
왜 React Native 가 좋은가? Android / Ios Native 를 Java, Kotlin, Swift 를 통해서 개발한다고 생각해보자. 단순히 한 화면에서 다른 화면으로 전환하며 데이터 전달을 한다고 할 때 간단히 보면 아래와 같다. 논리적으로나 복잡도에서나 react native 가 가장 단순하고 논리적이라 할 수 있다. 또한 안드로이드나 Swift 네이티브의 경우 구현을 하려면 꽤나 성가신 것을 알 수 있다. 간단한 화면 전환에서 데이터 전달을 함에 있어 인텐트, 액티비티, 세그웨이, 뷰컨트롤러 등의 고차원적 개념과 이를 각 문법에 맞게 그들 특유의 방식에 맞추어 공을 들여 구현해야 하고 또한 이런 간단한 의도를 코드로 구현하고자 함에 있어 여러가지 고려하고 생각해야할 것들이 많아 상당..