"ChatGPT와 몇 년 대화하며 알게 된 AI의 한 가지 특성"

 ChatGPT를 사용한 지도 꽤 오래되었다. 처음에는 단순히 코드를 물어보는 용도로 시작했지만, 지금은 개발, 사업, 계약, 투자 등 정말 다양한 주제로 대화를 나누고 있다. 그러다 문득 한 가지 특성을 발견했다. ChatGPT는 사람이나 회사를 쉽게 비난하지 않는다. 예를 들어 내가 실제 경험을 이야기하면 AI는 내 말을 무시하지 않는다. "그럴 가능성도 있습니다." "그렇게 느끼셨을 수 있습니다." "그런 해석도 가능합니다." 이런 식으로 대답한다. 하지만 그 다음 단계로 넘어가지는 않는다. 예를 들어, "그 회사는 원래 악덕 회사입니다." 또는 "상대방이 일부러 그렇게 한 것입니다." 처럼 의도나 악의를 단정해서 말하지 않는다. 처음에는 답답하다고 생각했다. '내가 실제로 겪은 일인데 왜 이렇게 조심스럽게 말하지?' 하지만 오랫동안 사용하면서 이유를 조금은 이해하게 되었다. AI는 누군가의 경험을 존중하면서도, 그 경험만으로 상대방의 의도까지 사실처럼 단정하지 않으려는 성향이 있었다. 생각해 보면 이것은 꽤 합리적인 방식이다. 같은 사건이라도 서로의 입장은 다를 수 있고, AI는 한쪽 이야기만 듣고 상대를 비난하는 도구가 되어서는 안 되기 때문이다. 그렇다고 사용자의 말을 무조건 부정하는 것도 아니다. 확인 가능한 사실은 사실대로 인정하고, 확인할 수 없는 의도는 가능성으로만 표현한다. 오랫동안 사용해 보니 이것이 ChatGPT의 일관된 답변 방식이라는 인상을 받았다. AI를 사용하다 보면 가끔은 너무 신중하다고 느껴질 수도 있다. 하지만 한편으로는 이런 특성 덕분에 AI가 근거 없는 비난이나 명예훼손에 쉽게 이용되지 않는다는 장점도 있다고 생각한다. 결국 AI는 사람처럼 편을 드는 존재라기보다, 사실과 추측을 최대한 구분하려는 도구 에 더 가까운 것 같다.

하이브리드 앱 개발하면서 느낀 것 – 웹이랑 같을 거라고 생각하면 큰 착각이다

 하이브리드 앱을 처음 만들 때 나는 단순하게 생각했다.

웹사이트 잘 만들어 놨으니까 WebView에 URL만 올리면 끝이라고.


하지만 실제로 개발을 시작해 보니

웹 브라우저와 WebView는 완전히 다른 환경이었다.


겉으로는 똑같이 보이는데, 동작 방식이 미묘하게 다르다.

이 미묘한 차이 때문에 예상 못한 문제들이 계속 발생한다.


1. fixed가 WebView에서 다르게 동작하는 문제


웹에서는 하단 고정 버튼을 만들 때 position: fixed를 사용하면 끝이다.

하지만 WebView에서는 부모 요소의 구조에 따라 fixed가 깨지는 경우가 많다.


특히 상위 요소에 transform이 들어가면

fixed가 화면 기준이 아니라 부모 기준으로 움직이기도 한다.


이걸 모르고 애니메이션 효과를 넣었다가

하단 고정 버튼이 같이 스크롤 되는 문제를 겪었다.


웹에서는 정상인데 앱에서만 깨지는 대표적인 사례다.


2. SafeArea 문제는 웹에서 테스트하면 절대 모른다


iOS에서 WebView를 사용할 때는 SafeArea를 항상 신경 써야 한다.

웹에서는 정상인데 앱에서는 상단 상태바를 덮어버리는 문제가 생긴다.


특히 로그인 화면을 거쳤다가 돌아오면

레이아웃이 깨지는 경우도 있다.


이건 CSS 문제가 아니라

iOS WebView 렌더링 문제라서 웹에서 아무리 수정해도 해결되지 않는다.


3. 스크롤 주체가 다르면 UI가 깨진다


웹에서는 body 스크롤이 기본이지만

하이브리드 앱에서는 특정 컨테이너가 스크롤을 담당하는 경우가 많다.


이때 하단 고정 버튼, floating 버튼, sticky 요소들이

예상과 다르게 동작한다.


그래서 하이브리드 앱에서는

“누가 스크롤을 담당하는지”를 먼저 정해야 한다.


4. 애니메이션도 함부로 넣으면 안 된다


웹에서 자연스럽게 보이던 페이지 슬라이드 효과가

앱에서는 fixed 요소를 깨뜨리기도 한다.


특히 transform을 사용하는 애니메이션은

하단 고정 UI에 영향을 줄 수 있다.


하이브리드 앱에서는

단순한 opacity나 margin 애니메이션이 더 안전하다.


결론


하이브리드 앱은 웹을 그대로 옮기는 작업이 아니다.

웹 + 네이티브 환경을 동시에 고려해야 한다.


웹에서 정상이라고 해서

앱에서도 정상일 거라고 생각하면 안 된다.


하이브리드 앱 개발은

작은 차이를 계속 잡아가는 과정이다.


이걸 이해하고 접근하면

개발 속도도 훨씬 빨라진다.

댓글