개발노트/Kotlin

스파르타 코딩클럽 앱개발 종합반 1주차

시계속세상은아직돌아가는중 2023. 6. 22. 16:22

 

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        //보통의 상중하 3단계로 나눠주는 위젯.
        //appBar(상)body(중)bottomNavigationBar(하)
        appBar: AppBar(
          centerTitle: true, //텍스트를 중앙으로 표시함
          title: Text(
            'Hello Flutter',
            style: TextStyle(
              //글자의 속성을 부여. 속성 : 글자속성(폰트사이즈)
              fontSize: 28,
            ),
          ),
        ),
        body: SingleChildScrollView(
          //아래 child를 스크롤 할 수 있게 만들어주는 위젯
          child: Padding(
            //안쪽 여백을 주는 위젯
            padding: const EdgeInsets.all(16),
            child: Column(
              //children에 들어가는 많은 요소들을 세로로 배치해줄 수 있게 묶음.
              children: [
                Image.network(
                  "https://i.ibb.co/nngK6j3/startup.png",
                  width: 81, //이미지의 크기를 지정함
                ), //이미지를 불러옴

                TextField(
                  decoration: InputDecoration(labelText: "이메일"),
                ),
                TextField(
                  obscureText: true,
                  decoration: InputDecoration(labelText: "비밀번호"),
                ),
                Container(
                  //child의 크기를 지정할 수 있는 위젯. width 속성이 없는 위젯의 크기 지정 가능
                  width: double.infinity, //child의 크기를 최대치로 키움(위에 맞춤)
                  child: ElevatedButton(
                    //버튼
                    onPressed: () {}, //버튼 동작하는 함수. ()입력값 {}return값
                    child: Text('로그인'), //버튼 이름
                  ),
                ),
              ],
            ),
          ),
        ),
      ),
    );
  }
}

 

1 주차를 공부하며 들었던 생각들

 

1. 정렬에 대해

 

강의를 들으면서 의문이 들었던 점은 android,ios 동시 개발이 가능한 flutter의 디폴트 값이 각 os마다 다르다는 점이었다. Scaffold를 사용한다면 ios는 기본적으로 글자 중앙 정렬을 해주지만 android에서는 왼쪽 정렬을 해준다.

 

때문에 개발 할 시 centertitle같이 정렬해주는 기능을 사용하여 디폴트 값을 내가 정해주는 것이 합당하다.

 

2. dart 문법-변수 var에 대해

 

dart문법을 공부하면서 의문이 들었던 점은, var라는 변수의 효용성이 있는지에 관해서였다.

var 형태는 이러하다

 

var 변수이름 = 변수

 

var는 뒤에 받는 변수에 따라서 형이 고정된다.

 

예를들이서

 

var a = 10

 

이라면 var는 int형으로 고정이 된다.

 

var형을 많이 사용하면 할수록 변수의 원형은 기억하기 어려운 파국으로 들어갈 것이 분명하다.

 

따라서 var형을 사용하는 것은 변수의 형태가 상관 없이 작동하는 코드의 결과값을 임시적으로 시험할 때 사용하는 것이 옳은 선택이므로, 코딩을 할 때 var형을 사용하는 것은 지양하는 것이 옳다.

 

본인 혼자 개발한다 해도 코드가 길어지면 길어질수록 각 변수의 원형을 찾는 것은 매우 중요한 일이다.

따라서 처음부터 필요한 변수를 할당하는것이 옳다.

 

var형은 테스트형 코드에서만 사용하도록 하자