반응형 [개발] 이야기71 모바일 크로스 플랫폼 프레임워크의 개념과 발전 히스토리를 알아보자 쉽게(플루터의 탄생과정) 플루터를 더 알아보기 위해선 모바일 크로스 프레임워크의 개념에 대해서 이해할 필요가 있습니다. 기존 네이티브 모바일 개발 방법과 모바일 크로스 플랫폼 탄생 과정우선 모바일 운영체제에서 애플리케이션 작동원리에 대해서 알아봅시다 모바일 운영체제에서 애플리케이션은 위 그림과 같이 작동한다.ios와 android플랫폼의 애플리케이션은 Native언어를 통해 만들고 Camera등의 서비스를 이용하기 위해 Platform과 소통한다.iOS는 Object-C, 안드로이드는 Java기반의 서로 다른 네이티브 언어를 통해 응용프로그램을 개발할 수 있기 때문에, 두 운영체제의 독점은 모바일 응용 프로그램을 만드는 개발자들에게 부담을 주었다.모바일 애플리케이션을 출시하기 위해서는 서로 다른 두 가지 네이티브 언어로 개발하고.. 2024. 7. 23. flutter 앱 기본정보 가져오기(app version, app name, pakage name, build number) Flutter를 하다보면 버전 분기별로 로직을 다르게 해야 하거나 여러가지 앱 기본정보를 불러와서 할 작업이 간혹 존재합니다. https://pub.dev/packages/package_info_plus package_info_plus | Flutter packageFlutter plugin for querying information about the application package, such as CFBundleVersion on iOS or versionCode on Android.pub.dev 이 사이트 들어가서 설치 하거나 플루터 터미널에flutter pub add package_info_plus를 이용해 설치해 줍니다. 해당 패키지는 비동기 함수인걸 명심합니다.Future getData().. 2024. 7. 22. flutter - sealed class 상태 패턴 사용 방법(freezed when legacy) freezed 라이브러리의 when 함수를 사용하여 상태관리 패턴을 사용했었는데 공식 문서(pub.dev)에 legacy라는 라벨이 붙어있는걸 보고 버전업 되면 언젠가는 없어지겠구나 생각이 들었습니다. 그러면 어떻게 해야하나 찾아보다 3.0버전에서 새로나온 sealed class를 사용하면 아주 깔끔하게 해결할 수 있더군요 그럼 여기서 어떻게 사용하는지 정리해 보도록 하겠습니다. 참고 : 상태 패턴은 해당 상태(클래스)에 따라서 여러가지 분기를 가질수 있도록 하는 방법으로 여러 복작한 논리들을 여러가지 클래스로 정의하여 관리할수 있는 장점이 있습니다. 이는 여러사람이 하나의 기능을 만들때 아주 요긴하게 사용됩니다. 1. 상태패턴 sealed class 정의sealed class AddEditNoteEv.. 2024. 7. 10. [flutter] 플루터의 3요소, Widget Tree, Element Tree, RenderObject Tree 에 대해서 알아보자 (setState를 하면 일어나는 일들) 플루터에서 위젯의 상태를 변경하기 위해서 setState를 하면 어떠한 일들이 일어날까? Flutter는 모든 것이 위젯이다 이 특징이 있음을 꼭 기억하자 (엄밀히 따지면 Flutter에서 위젯이외의 객체도 일부 존재하지만 대부분이 위젯이고 일반적으로 프로그래밍을 할때 위젯이 아닌경우를 신경 쓸 일이 없으므로 모든것이 위젯이라고도 할 수 있다.) 플루터는 UI를 그려내기 위해 Widget Tree, Element Tree, Render Tree 3가지를 사용합니다. 이 세가지를 왜 사용할 까요? 이는 곧 성능과 관련이 있습니다. 만약에 플루터가 위젯트리 하나로만 되어있었다면 정말 수시로 렌더링이 자주발생하는 앱같은 경우에는 모든 위젯이 다시 렌더링되어야 하는 문제가 있겠죠 이를 3가지로 나누어 각각 적절.. 2023. 12. 27. 이전 1 2 3 4 5 6 ··· 18 다음 반응형