Skip to main content

2 posts tagged with "app"

View All Tags

2024 Mac Book 앱! NeoVim & Ollama & ...

· 3 min read

image

맥북을 사용하는 사람들은 게임 보다는 생산성을 위해 사용합니다.

생산성을 높여줄 2024년 앱들을 소개합니다.

시스템 검색 앱

Spotlight 앱을 이용해 시스템을 검색할 수도 있지만 저는 개인적으로 Alfred를 사용하고 있습니다. 하지만 좀 더 이쁜 검색 앱을 원한다면 Raycast를 사용하세요!

Alfred - Productivity App for macOS Control Your Music You're the boss. Boost your productivity by controlling your Mac using Alfred's deep integration with macOS. Swiftly take action on files and contacts, control your music player and dispatch System commands. Add some fun to your day; www.alfredapp.com

Raycast - Your shortcut to everything A collection of powerful productivity tools all within an extendable launcher. www.raycast.com

image

둘 다 사용이 편하고 좋습니다.

생산성에 도움이 되는 다른 앱들도 소개드려요!

Maccy

Maccy - macOS clipboard manager Maccy is hands down the best clipboard manager I've ever used, across all platforms! As a writer by profession, I cannot function effectively without a clipboard manager. All the apps I tried from the App Store or elsewhere were not bloated and required maccy.app

클립보드 관리자입니다.

CleanShotX

스크린샷과 화면 녹화를 위한 더 나은 솔루션, QuickTime이 생성하는 화면 녹화 파일은 크기가 상당히 커서 블로그에 업로드하려면 관리하기 어려운데, 이걸 이용하면 좋습니다.

Rectangle

키보드 단축키 또는 스냅 영역을 사용해 MacOS 창을 이동하고 크기를 조정할 때 사용합니다.

마우스를 덜 사용하면서 작업을 하고 싶을 때 유용합니다.

image

Today는 오늘의 캘린더 항목에 액세스할 수 있는 간단한 애플리케이션입니다. 그러므로 이름. 알겠어요? 당신은 똑똑합니다. 나는 당신을 믿습니다. 올해 최선을 다해 추진하는 데 있어 가장 큰 부분은 이번 달 계획을 세우고 필요할 경우 더 확장된 프로젝트 일정을 수립하는 것입니다. 오늘의 일정을 빠르게 확인하는 것은 매우 편리합니다.

NeoVim

Home - Neovim News Vim Boss   2023.08 What Neovim shipped in 2022   2022.12 More… Impressions "Neovim is exactly what it claims to be. It fixes every issue I have with Vim." —Geoff Greer "Full-screen Neovim looks cool as hell!" —DHH "A nice looking website, neovim.io

IDE(통합 개발 환경)는 엔지니어와 개발자의 코드 작성, 구축, 테스트, 디버깅 및 실행을 지원하는 데 사용되는 소프트웨어입니다. 가장 기본적인 수준에서 IDE는 소프트웨어가 다양한 프로그래밍 언어와 이를 렌더링하는 방법을 이해할 수 있도록 여러 가지 추가 항목이 쌓여 있는 텍스트 편집기입니다.

Ollama

Ollama Get up and running with large language models. ollama.com

Ollama는 LLM(Large Language Models)을 활용하기 위한 오픈 소스 애플리케이션입니다. 간단히 말해서 Ollama는 사용자가 GPT와 유사한 LLM에 액세스할 수 있는 무료 오픈 소스 애플리케이션입니다. Ollama는 터미널을 통해 실행되지만 더 쉽게 액세스할 수 있는 GUI가 있습니다. Ollama를 통해 사용할 수 있는 LLM도 많이 있습니다.

이걸 이용하면 로컬 시스템에서 무료로 Chat GPT와 같은 어플리케이션을 사용할 수 있습니다.

image

감사합니다!

Flutter vs React Native - 2023

· 4 min read

image

모바일 앱을 개발하는 방법은 보통 3가지로 나뉜다.

1. 네이티브 앱

2. 하이브리드 앱

3. 크로스플랫폼 앱

image

네이티브앱은 예전부터 앱 개발 시에 aos(android), ios 에 맞춰 다른 언어로 그 언어에 맞게 각각 개발하는 방법이 있다.

이 방식은 1개의 앱을 개발하기 위해 두 개의 언어를 모두 할 줄 알아야 해서 보통 개발자를 2명 뽑아 운영하게 되고 동일한 화면을 구글플레이, 앱스토어에 각각 배포하기 위해 모두 새로 만들어줘야 하는 중복 작업이 필요하다.

대신 os 언어에 맞게 개발하기 때문에 좀 더 deep한 기능을 넣어줄 수 있다고 하는데 요새는 그게 그렇게 중요한가 싶다.

image

하이브리드 앱은 각각의 os 별로 웹 페이지를 보여주기 위한 웹뷰 기능을 제공하는데 이 기능을 이용하는 방식이다.

실제 모바일 앱의 화면을 모두 웹싸이트로 구현하고 앱 개발은 웹뷰로 보여주는 정도로만 개발한다. 네이티브 기능이 필요하다면 이 또한 웹뷰 또는 백엔드와 상호작용해 얻을 수 있어 개발이 간편하다.

초기 셋팅을 해 둔다면 웹 개발자만으로 앱을 운영할 수 있고 웹페이지를 보여주기 때문에 스토어에 배포를 자주하지 않고 웹싸이트만 따로 배포해도 업그레이드 할 수 있는 장점이 있다. 하지만 웹뷰앱은 스토어에서 관리하기 힘든 단점이 있어 앱스토어나 구글플레이에서 좋아하는 방식이 아니다. 그래서 점점 불리하게 업그레이드 되는 것 같다.(개인적 생각..)

image

대망의 크로스플랫폼 앱은 하나의 코드 베이스로 대부분의 네이티브 기능들을 사용할 수 있도록 만들어진 방식이다.

하이브리드 앱도 하나의 코드베이스로 운영되긴 하지만 네이티브 요소들이 필요할 때는 native app 언어를 공부해야 하고 가끔 웹으로 앱을 구현할 때 있어서의 UI 또는 기능적 한계에 부딪친다.

크로스플랫폼 앱은 네이티브를 사용하기 때문에 하이브리드 앱 보다 유용하고 하나의 언어와 플랫폼을 사용하기 때문에 코드를 중복해서 만들어야 하는 불편함도 줄여준다.

기업에서도 개발자 2명 뽑을 걸 1명만 뽑아도 되서 이득, 개발자도 개발산출물의 코드 베이스가 하나이기 때문에 관리도 편하고 모두에게 이득이 아닌가 싶다.

이렇게 좋은 크로스플랫폼의 가장 인기있는 RN(react-native)와 flutter에 대해 알아보려고 한다.

image

우선 RN은 2015년에 meta(구 facebook)에서 개발했고 웹 개발자들에게 친숙한 react 프레임워크와 거의 비슷하게 사용할 수 있다.(js만 사용해 모바일 앱 개발 가능 👍)

웹 개발자만 있으면 web, aos, ios앱도 모두 만들 수 있으니 매우 효율적이다. 물론 기존 react와 똑같지는 않고 사용하는 라이브러리나 html, css 방식이나 UI 구성 방식은 다르지만 그래도 웹개발자들에게 친근해 많이들 사용했다.

image

flutter는 2017년에 google에서 개발했고 dart 언어를 활용해 aos, ios, web, window, mac 등 거의 모든 플랫폼 앱에 대한 개발이 가능하도록 되어 있다. dart 언어를 이해하고 flutter 사용 방법만 익숙해 진다면 더 많은 혜택을 누릴 수 있다. 하지만 상대적으로 js사용자가 많은 개발자 생태계에서 dart 언어의 경쟁력이 좀 떨어지고 친근함도 떨어져 RN보다는 초기 진입장벽이 있다고 볼 수 있다.

image

비교를 시작하자면 개발자들 간 지식인 싸이트인 Stack Overflow에서 보면 RN이 먼저 출시했고 친근함을 무기로 많은 성장을 했지만 사람들의 관심도가 점점 flutter로 옮겨가는 것을 볼 수 있다. 결국 2019~2020년 사이에 flutter가 더 많이 관심 받기 시작한 걸로 보인다.

이미 여러 그래프들에서 개발자들이 사용하고 싶은 프레임워크부터 인기 그래프 등에서 flutter가 2021년 이후로는 확실히 앞서기 시작하는데 왜 이런 변화가 일어났을까?

둘 다 사용해 본 경험을 말해보자면 우선 언어적으로는 js가 더 친근하지만 dart가 어려운 언어가 아니기에 접근하기가 어렵지 않았다는 것이 있고 초기 셋팅 시 flutter가 cli가 훨씬 잘 되어 있어 셋팅이 편리했고 심지어는 초기 셋팅만 cli가 편한 것이 아니라 라이브러리 설치부터 개발까지도 친숙하지 않은 것일 뿐 훨씬 더 편리하다는 것.

RN을 이용하면서 가장 불편했던 건 라이브러리 설치 적용, 초기 셋팅 등이다. 친숙한 언어와 프레임워크가 개발에 있어 속도를 낼 수 있게 해주지만 셋팅할 때마다 생기는 오류들로 벌어둔 시간을 다 까먹게 된다.

flutter는 그에 반해 dart 언어, 프레임워크 사용법만 익혀두면 그 이후 개발은 훨씬 더 편하다. flutter 자체에서 대부분의 라이브러리를 지원하고 문서도 간소화 되어 읽기 편하게 되어 있다.  그리고 요즘 개발에 맞게 react가 컴포넌트 단위의 개발을 하는 것처럼 flutter는 widget 단위로 개발해 재사용하기도 편리하다.

게다가 RN은 js를 활용한 브리지를 통해 기본 구성 요소에 연결하므로 개발 속도나 실행 시간이 flutter 보다 느린 편이고 flutter는 브리지에 의존하지 않고 전용 그래픽 머신을 통해 앱과 상호작용하기 때문에 네이티브 코드로 컴파일해 성능이 훨씬 빠르다.

그리고 디버깅도 쉽게 할 수 있도록 완전히 지원되어 있어 개발 중 수 많은 디버깅에 있어서도 유리합니다.

너무 flutter 편향적으로 적긴 했지만 이런 flutter 움직임에 RN도 자극을 받았는지 성능 업그레이드도 되었고 여러 문제들이 개선되고 있고 기존의 많은 회사들이 채택해 사용하고 있기 때문에 사실 결국에 누가 우위를 점할지는 알 수 없는 상황이긴 하다.

하지만 그 간 RN을 하며 겪었던 고생들을 flutter를 통해 해소하고 나니 RN에 대한 감정이 남아 있다.

다시 좋은 감정을 가지고 RN을 겪어보고 싶은 마음도 남아 있다.