환영합니다, Rolling Ress의 카루입니다.
이번 시간이 벌써 3차시네요. 지난 시간에 무언가 뭐가 많이 바뀌었는데, 그나마 안드로이드/아이폰 앱은 잠시 미뤄두고 윈도우 앱부터 개발을 하게 되어서 다행이네요. 사실... iOS용 앱을 만들려면 macOS가 필요합니다. 맥북을 사야 하는데, 돈이 없어요 😅....
이번에는 제가 사용하는 환경에 대해서 간략하게 말씀을 드리고, 무엇을 해야 할지 간단하게 제언을 드리는 식으로 작성해보겠습니다. 바로 시작하겠습니다.
참고로 제가 작업할 때 사용하는 환경은 이렇게 생겼습니다. 이게 디자인 창이에요.
물론, 이것도 까보면(?) 다 저렇게 코드로 되어있습니다. 마우스로 작업할 수 있으면 참 편한데, 보통은 코드를 더 많이 쓰긴 합니다.
우선, 앱을 만들기에 앞서 우리가 할 수 있는 것과 할 수 없는 것을 구분을 나눠볼까 합니다.
할 수 있는 것
1. 앱 메인 화면 만들기
뭐 당연하죠. 그럴려고 앱을 만드는 거니까요.
2. 계정 관리 및 로그인하기
사실 이것도 서버가 없으니까 안 되어야 하지 않나...싶은데, 편법을 써야 합니다. 제 구글 드라이브에 계정 정보를 암호화시켜 파일로 올려두고, 누군가 로그인을 할 때마다 해당 파일을 다운받아 복호화를 한 뒤, 아이디와 비밀번호를 매칭시키는 방식으로 로그인을 할 겁니다. 뭐 물론 검증 안 하고 그냥 아무렇게나 입력해도 "OK!" 하면 참 좋겠지만, 재미가 없잖아요?
3. 클릭해서 큰 화면으로 보여주기
밑에서 자세히 설명해드리겠지만, 메인화면에서 타일 형식으로 올려진 사진을 클릭하면 상품 정보와 가격, 모집 인원(현재/총) 등을 보여주는 페이지를 만들어볼까 합니다. 참고로 이건 제가 예전에 만들었던 'GGHS Todo'에서 동작 방식을 따올 건데, 자세한 건 마이크로소프트 스토어에서 'GGHS Todo'를 다운받으시면 알 수 있습니다.
등등. 이 뒤는 저도 아직 생각이 안 나네요.
할 수 없는 것
1. 실시간 통신하기(댓글, 좋아요)
소켓을 이용해야 한다고 들었습니다만... 서버가 없는 이상 레이턴시를 극적으로 줄일 수가 없습니다. 변화가 생기면 바로바로 캐치하고 그걸 반영해야 하는데 (미분을 잘 하라는 얘기죠!) 구글 드라이브로는 그게 안 돼요. 특히, 동시에 변경되는 것들을 처리할 수 없어요. 누가 글을 작성중이다? 그럼 그 사람이 작성을 다 할 때까지 다른 사람은 그냥 계속 대기해야만 하는 상태라는 겁니다. 이건 좀...학교에서 돈을 지원을 해 주든지, 아니면 서버를 부분적으로 임대해주든지 (ggg.hs.kr 있잖아요?) 하면 좋을텐데 말이죠.
2. 진짜 물건 구매하기
ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎ골치 아픈 게 한두가지가 아닙니다. 이것도 뭐 웹 크롤링을 하거나 그러면 이론상 되기는 하는데, 그럼 누군가의 개인정보를 저 프로그램 안에 쌩으로 박아놔야 하는 터라 썩 편하지가 않네요. 그냥 주문 버튼을 클릭하면 "신청이 완료되었습니다, 구매 예정일은 ~일 입니다" 정도로 띄울까 합니다.
3. macOS용 앱
GTT 시절부터 난관에 봉착했던 문제이긴 합니다. 가장 좋은 건 그냥 여기서 만들어서 macOS에서도 사용할 수 있게 하는 건데, 그게 안 돼요. 뭐 제 역량 탓도 있겠지만, 개발 편의성 자체가 현저하게 떨어집니다. Microsoft에서 .NET 6와 함꼐 MAUI를 발표한다는데, 음.. 시기상 올해 11~12월쯤이나 되어서야 공개가 될 것 같군요. 일단 macOS 지원은 빼두겠습니다.
공동구매 앱. 신박해요. 디자인은 뭐 큰 무리가 가지 않을 것 같습니다. 다만 제가 앱을 만드는 데 GGHS Time Table은 7일, GGHS Todo는 약 18시간 정도가 걸렸는데, 이번 앱은 스케일이 크다보니 조금 더 시간이 길어질 것 같네요. 개발을 빨리 하려면, 앱의 구조와 기능을 모두 만들어놔야 합니다.
그러니, 오늘은 다음과 같은 내용을 제안해볼까 합니다.
1. 앱의 디자인을 정해주세요.
목록형, 타일형 등 몇가지 디자인 방식이 있습니다. 제게 말씀해주시면 몇 가지 샘플을 보여드릴테니, 괜찮아보이는 걸로 하죠.
2. 탭 메뉴를 정해주세요.
인스타에서도 피드/검색/프로필 등등 여러개의 탭으로 하단이 나뉘어있죠. 우리도 이 앱에서 어떤 기능을 제공할 것인지 생각을 좀 해 봅시다.
3. 기능을 정해주세요.
"뭐야? 방금 할 수 있는 게 없다며?" 네, 뭐... 그래도 할 수 있는 데까지는 해야죠. 제가 생각한 건 이렇습니다. 공구 신청을 하면 그게 리스트에 쌓여서 배송 날짜순대로 뭐가 오는지 확인할 수 있게 해주는 거죠. 뭐 인원수가 FULL이 된 경우 하이라이트 표시를 해도 좋고요. 마음에 안 들면 다시 환불받고 빠져나올 수 있는 기능과 함께 실행/취소도 만들어볼 생각입니다. (이미 GGHS Todo에서 구현한 기능입니다. 이거 자체는 뭐...그닥 어렵지 않아요)
일종의 포인트 기능도 필요할까요? 출석체크....(으어어ㅓ억 마이 브레인) 해서 뭐 특정한 조건을 만족하면 포인트를 준다든지.
'고양국제고 > 셰어텍' 카테고리의 다른 글
[셰어텍] 6. SQL 서버와 회원가입 / 로그인 구현 (0) | 2021.10.13 |
---|---|
[셰어텍] 5. 앱 디자인 완성! (0) | 2021.10.12 |
[셰어텍] 4. 갈아엎...^^; 새로운 시작 (0) | 2021.09.30 |
[셰어텍] 3. 메인페이지 노가다와 뼈대 갖추기 (0) | 2021.09.26 |
[셰어텍] 1. 첫 시작 (0) | 2021.09.20 |