Nomad coder를 보면서 복습하면서 만들어 본 오늘의 웹툰 리스트
강의에서 제공한 노마드코더에서 제공한 네이버웹툰 API 이외 korea-webtoon-api에 제공된 카카오웹툰, 카카오페이지 웹툰 API를 추가했습니다.
AppBar(
backgroundColor: Colors.transparent,
title: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Container(
clipBehavior: Clip.hardEdge,
decoration: BoxDecoration(borderRadius: BorderRadius.circular(10)),
child: Image.asset("images/ditoonLogo.png", height: 55),
),
Text(
"$dayOfWeek에 업데이트 된 웹툰😍",
style: const TextStyle(
color: Colors.black,
fontSize: 15,
fontFamily: 'Pretendard',
height: 4,
),
),
],
),
elevation: 0.0,
),
DateTime now = DateTime.now();
String dayOfWeek = DateFormat('EEEE', 'ko_KR').format(now);
[2023/05/18]
class TextStyles {
static const f30W800TextStyle = TextStyle(
fontSize: 30,
fontFamily: 'Pretendard',
fontWeight: FontWeight.w800,
);
static const f15W800TextStyle = TextStyle(
fontSize: 15,
fontWeight: FontWeight.w800,
fontFamily: 'Pretendard',
);
static const f15TextStyle = TextStyle(
fontSize: 15,
fontFamily: 'Pretendard',
);
}
fontFamily를 추가해서 fontStyle이 길어지는 것 같아서 공통코드로 fontStyle이 추가했는데 생각보다 text를 사용하는 위젯이 별로 없고, 따로 속성을 추가하는 경우도 많아서 공통코드로 묶기가 애매했다.
디자인 없이 임의로 보일때마다 추가한 fontStyle이 많아서 이것도 묶을 수 없었다. 추가할수록 오히려 더 지저분해지는 느낌이였다.
해당 앱은 text를 별로 사용하지 않고 widget, class가 적어서 큰 도움은 되지않았고, 항상 공통코드로 묶을 때는 이미 많이 사용한 상태에서 공통코드로 묶어서 이전에 사용했던 코드를 다시 리팩토링을 많이 했는데, 자주 사용할 것같은 코드는 미리 묶어서 공통코드로 만드는 연습을 하고싶다.
변수이름을 bigTextStyle 이런식으로 해야하나 싶었는데 공통으로 추가하지 않은 폰트스타일의 폰트나 weight도 제각각이라서 더 헷갈릴거 같아서 직관적으로 fontSize와 fontWeight의 크기를 이름으로 지정했다. 규칙을 정하거나 어느 위치에는 어떤 스타일의 폰트가 들어가있는지 정해져있다면 이런식으로 안써도될 것 같긴하지만 내가 보기에는 편한대로 우선 지정해보았다.
behavior: HitTestBehavior.translucent
혹은 behavior: HitTestBehavior.opaque
속성을 사용하면 터치범위를 늘릴 수 있다고 한다.[2023/05/19]
클린코드 연습 -> Magic Number 사용 지양하기
간단하게 만든거지만 예뻐보이고 싶었는데, 머리속에서 떠오르는 대로 만들다보니까 정보값도 별로 없어보이고, 정말 허해보여서 슬펐다. 이것저것 레퍼런스를 찾아봤지만 생각보다 어려운 일이 였다. 다른 어플을 보면서 평가하는 것은 쉽지만 막상 내가 만드려고 하면 생각이 나지않는다. UIUX디자이너들 정말 존경스럽다. 시간이 되면 UX공부도 해보고싶다.
이렇게 리팩토링하면서 오랫만에 재미있는 감정을 느꼈다. flutter의 widget은 Lego같은 것이라고 widget을 설명할 때 자주 얘기 하는데 평소에는 아 그냥 그렇구나했는데, 이번에 이리저리 조립해가는게 정말 Lego같고 게임 같다는 느낌이 들어서 아주 즐거웠다.