Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

미리부터 김 빼는 것 같지만 애플 숏컷 앱처럼 그래프에 기반해 로직을 작성하는 앱들이 항상 그렇듯 예제를 따라 할 때는 뭐든 할 수 있고 또 잘 동작하는 것처럼 보이지만 모범 사례에서 한 발짝만 밖으로 나갈래도 급격히 올라가는 난이도와 예상대로 동작하지 않는 상황을 맞이하게 될 겁니다. 마치 언리얼 블루프린트에 십 수년 간 당해 온 것처럼요. 또 한 가지 목표를 달성하기 위해 애플 숏컷 환경 뿐 아니라 여러 회사에서 만든 소프트웨어의 조각들이 기적적으로 잘 동작해야 합니다.

명시적 리턴 없음

먼저 오토메이션에는 안정적으로 동작하는 함수 개념이 없다고 보는 편이 정신 건강을 위해 좋습니다. 분명 한 숏컷에서 다른 숏컷을 호출해 그 숏컷의 실행 결과를 돌려 받을 수 있게 되어 있지만 이 과정이 명시적이지 않습니다. 명시적으로 다른 숏컷에 값을 넣어 실행할 수 있지만 명시적으로 그 숏컷으로부터 값을 돌려 받을 수는 없습니다. 이 부분은 묵시적으로 동작하는데 예상과 달리 동작하는 상황을 자주 맞이할 겁니다. 함수라기보다는 서브루틴이라고 생각하는 편이 나을 겁니다.

⬆️ 이전에 명시적 리턴이 없다고 했었는데 제가 잘못 알고 있었습니다. '애플 숏컷에 명시적 리턴 있음'에서 다시 설명했습니다.

글로벌 변수 없음

애플 숏컷 순정 상태에는 숏컷 외부에 값을 저장하고 이를 다른 숏컷에서 불러다 쓸 수 없습니다. 숏컷 안에서 선언한 변수는 숏컷 안에서만 유효합니다. 특히 조건이나 반복 안에서 선언한 변수는 그래프로 되어 있는 코드의 낮은 가독성에 따라 스코프를 파악하기 쉽지 않습니다. 처음에는 숏컷 바깥에 값을 저장하기 위해 지라, 애플 노트 앱, 넘버즈 앱 등을 사용했습니다. 숏컷 실행 중 값을 저장하거나 불러오고 싶으면 이 앱들을 불러서 사용하는 방식이었는데 동작하긴 하지만 느리고 불편했습니다. 툴박스 프로 앱을 사용하면 글로벌 변수를 편하게 사용할 수 있습니다. 다만 이 앱의 글로벌 변수는 키- 밸류 스타일로 별도로 네임스페이스를 지원하지는 않아 글로벌 변수가 많아지면 관리하기 좀 어려워집니다.

...