일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Go언어
- 안드로이드
- Kotiln
- 안드로이드 컴포즈
- Dev6
- 코틀린
- 안드로이드 컴포즈 SideEffect
- 이펙티브코틀린
- 프로그래머스
- 알고리즘
- RxJava
- Rxjava 안드로이드
- Flutter
- 개발자
- 잡담
- 이펙티브 코틀린
- 코딩테스트
- react
- 안드로이드 다이얼로그
- 일상
- MVVM
- 반응형 프로그래밍
- Java
- 안드로이드 개발자
- RxKotiln
- 코루틴
- android
- android compose
- Firebase
- 안드로이드 스와이프 삭제
- Today
- Total
목록Flutter (5)
최데브는 오늘도 프로그래밍을 한다.
플러터의 다음 포스팅으로 자주 쓰는 위젯을 적으려고 했는데 사실 워낙 많은 위젯이 있고 모든걸 다 적는건 시간도 시간이고 그때그때 찾는게 더 효율적일거 같다는 생각이 들어서 많은 사람들이 잘쓰고 있고 유명한 오픈소스 위젯? 들에 대해서 적어보려고 한다. 이번 포스팅은 GetX다. 1. GetX란 뭘까? 전 포스팅에서 말했던 state (상태) 라는 개념을 관리하기 위해 많이쓰이고 있다. 다시 정리하면 Flutter를 위한 state 관리 라이브러리다. 플러터에서는 GetX ,BLOC, Provider 등을 상태관리로 많이 쓰고 있는데 그 중에서 GetX가 상대적으로 사용하기 편하고 또 강력해서 많이들 사용한다. 2. GetX는 상태관리말고도 이것저것 해준다. 라우팅 (화면 전환 애니메이션도 제공) 의존성..
플러터의 동작 원리에 대해 말하려면 위젯의 대한 설명을 먼저 하고 넘어가야한다. 1. 플러터는 곧 위젯의 집합이다. 플러터 프로젝트를 생성해보면 웹이나 Rn 와 비슷하게 코드가 생겼는데 뷰 계층 을 이루고 있다. 플러터는 위젯이라는 개념이 존재하는데 이 위젯은 버튼, 이미지, 텍스트 등등 작은 컴포넌트를 의미한다. 이것들을 조합하고 계층을 만들어 프로젝트를 구성해간다. 심지어 스타일과 애니메이션 까지고 모두 위젯이다. 2. 위젯의 사용 예시 위젯은 앱 화면의 모든 정보를 정의하는데 쓰이고 있다. 예를들어 Row 라는 위젯은 Row( childern : [ ] ) 이런식으로 적으면 childern 안에 들어있는 위젯들을 가로로 정렬한다는 의미가 된다. 그리고 또 Row( mainAxisAlignment :..
1. 플러터란 구글에서 만들어졌으며 오픈소스로 공개된 모바일 SDK 다. 플러터는 리액트 네이티브와 비슷하게 안드로이드 , IOS 를 하나의 코드로 동시 개발 할 수 있는 크로프 플랫폼이다. 현재는 웹과 윈도우 프로그램도 개발이 가능한 상태다. 1.1 플러터는 어떤 언어를 사용할까? 리액트 네이티브가 비교적 넓게 쓰기는 자바 스크립트로 개발할 수 있어서 얻는 이점이 있었듯 기존 개발자들이 사용하는 언어를 그대로 사용할 수 있었다면 더 좋았겠지만 플러터는 다트(Dart) 라는 언어를 사용한다. 이 언어도 구글에서 만들었는데 안드로이드 플랫폼도 지원하고 있는 구글이 왜 생소한 언어를 따로 만든걸까? 다트는 JIT(just-in-time) 컴파일과 AOT(ahead-of-time)컴파일을 모두 지원한다. AO..
import 'package:flutter/material.dart'; import 'package:fluttertoast/fluttertoast.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'test', theme: ThemeData(primarySwatch: Colors.blue), home: Mypage(), ); } } class Mypage extends StatelessWidget { @override Widget build(BuildContext context) { re..
import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'test', theme: ThemeData(primarySwatch: Colors.blue), home: Mypage(), ); } } class Mypage extends StatelessWidget { // This widget is the root of your application. @override Widget build(BuildContext context) { ret..