일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 디자인시스템
- frontend
- 2020년
- c#
- react
- css framework
- design
- 모노레포
- Next
- mono-repo
- 템플릿
- design-system
- pnpm
- 2021년
- design token
- style-dictionary
- 라이브러리제작
- vite
- nextjs
- package
- 회고
- 뇌를자극하는C#
- 다짐
- typescript
- javascript
- front
- 개발자
- component
- 프로그래밍
- npm
- Today
- Total
목록Front-end (27)
개탕 IT FACTORY

디자인시스템 구축전 글에서 compound component와 Polymorphic component에 대해서 다뤄봤고,추가적으로 디자인 토큰이 어떤 것인지에 대해서도 알아보았다. 이번에는 디자인시스템 라이브러리 구축을 위한 과정을 한번 다뤄볼까한다. 디자인 시스템 구축 과정사실 Rollup으로 구축할려고했으나 vite의 강세와 더불어 내부로직으로 Rollup 설정이 가능한 vite로 빠르게 구축후 Rollup으로 포팅하는 과정을 할려고한다.고려사항최소한의 번들 사이즈를 유지하게 만든다 (tree shacking 기능이 있는걸 사용한다)storybook을 적극활용하여 컴포넌트를 관리한다Typescript기반으로 개발한다React 개발환경에 맞춰 개발한다 (다른 것들은 추후고려대상)개발 구축빠른 개발환경 ..

서론사실 나는 CSS-in-JS 라이브러리를 굉장히 좋아한다. (Emotion, styled-componets) 이유중 하나라면 다들 스파게티 코드라고 불리우는 JS 파일내에서 CSS를 처리할수 있으며 (colocation), 동적으로 CSS 처리도쉽기 때문에 좋아하였다.그런데 최근 React 18에서 Server-component를 지원하기 시작하였고, 기존 CSR → SSR로 판도가 변하면서 많이 달라졌는데 그러면서 기존에 run-time 중에 생성한 CSS-in-JS는 자연스럽게 사용이 어려워졌다. (사실 태생부터 run-time과 함께 만들어지게 되었는데 SSR 지원은 굉장히 어려운 일이 였을 것이다.)그러다가 대체제로 다양한 선택지가 있었는데 Tailwind는 굉장히 인기가 좋았지만 개인적으로는..

개요 기존에 Polymorphic 컴포넌트와 Compound 컴포넌트에 대해서 정리해보았다. 디자인 시스템 구축에 꼭 필요한 과정은 아니나 위의 컴포넌트 제작과정을 알게 된다면 더쉽고 빠르게 디자인 시스템을 구축할수있다. 이번엔 디자인시스템의 핵심이라고 할 수 있는 디자인 토큰에 대해서 알아 볼까 한다 . 💡 이 글은 디자이너나 피그마 관련된 설명이 아닌 단순한 디자인 시스템 구축을 위한 개발자를 위한 글임을 참고 바랍니다. 디자인 토큰이란? 디자인 토큰 개념을 대중화 시킨 ‘세일즈포스(Salesforce)’의 Lightning Design System에서 디자인 토큰 개념을 설명하고있다. Design tokens are the visual design atoms of the design system —..

개요 기존에 Polymorphic Component에대해서 알아보았다. 다양한 환경에서 다양하게 적용가능한 컴포넌트를 적용하기 위해서는 다형성을 가진 컴포넌트를 제작하였다. 이번에는 그 확장판인 Compound Component (합성컴포넌트)에대해서 알아볼까한다. Compound Component(합성컴포넌트) 무엇인가? Compound components are a React pattern that provides an expressive and flexible way for a parent component to communicate with its children, while expressively separating logic and UI. 출처 상위 구성 요소가 하위 구성 요소와 통신할 수 있..

개요 회사내에서 (지금은 전직장) 디자인 시스템 제작을 위해 다양한 자료를 찾아보던 와중에 Polymorphic 컴포넌트에 대해서 알게 되어서 관련 내용을 정리해볼까 한다. 디자인 시스템 제작한지는 상당히 시간이 오래지났지만 (23년 봄부터 시작했으니…) 관련된 참고내용과 내가 실제로 적용했던걸 바탕으로 글을 작성할려구 한다. 이 내용은 추후 디자인 시스템 구축을 위한 발판을 위한 기본글임을 알립니다. Polymorphic이란? 사전적 의미는 다형성이라고 표시되는데, 프로그래밍 특히 객체지향에서는 오버로딩과 오버라이딩등 다양하게 표현되곤한다. 물론 여기서는 그런뜻이 아닌 다양한 형태를 가질수있는 컴포넌트라고 이해하면 쉬울 것 같다. 다양한 형태는 어떤 형태를 말하는 걸까? 태그에 얽매이지 않는 컴포넌트 ..
개요 리액트를 처음 배웠을 당시 전역상태관리 라이브러리는 Redux와 Mobx밖에 없었다 심지어 Redux가 우위에 있을정도로 다운로드 차이가 많이났었는데 당시 입사했던 회사에서는 Mobx를 사용하여서 경험만 해보았을 당시에는 리덕스에 비해서 편리하다는 느낌을 많이 받았던걸로 기억한다. 최근이라기는 너무 오래되긴했지만 다양한 상태관리 라이브러리가 존재하는 것 같다. react를 개발하는 메타(구 페이스북)에서는 recoil이라는 것을 내놓았고, 그에 영감을 받아 Jotai, zustand의경우 redux와 유사하지만 보일러플레이트가 많이 줄어들어 쉽게 쓸수있는것 같다. TanStack Query(구 React-Query)가 나온뒤로 전역 상태관리 라이브러리의 필요성이 많이 줄어든것같지만, 그래도 내부적으..
개요 저번 포스팅에서 CRA는 죽었다(라는 표현보단 deprecated)라는 포스팅을 하였는데 이번에 최근에 각광받고 있고, 빠른 vite로 CRA(create-react-app)을 마이그레이션(migration) 해볼까한다 사실 CRA로 게시되있는 프로젝트를 바꾸는 방법은 두가지인데 Case1. Vite로 새롭게 만들기 사실 가장 원시적인 방법이다. 일단 가장 어려운점은 프로젝트 사이즈가 크지 않은 거라면 상관없지만 프로젝트가 크다면, 관련된 라이브러리 및 연관된 디펜던시등의 설정이 어려움이 있을가능성이 높다 그렇기 때문에 이부분은 PASS Case2. Webpack to Vite 이번 포스팅을 하게 된 계기인데 가장 안정적인 방법이지 않을까 싶다 기존프로젝트를 유지한채로 vite만 갈아 끼우는 방법 ..

RIP CRA(Create-React-App) CRA(Create-React-App)이 죽었다… 아 죽었다는 표현보단는 deprecated가 맞는 표현 같다 React에서는 새로운 문서 https://react.dev/ 를 공개하고 이전 문서의 지원을 중단했는데 충격적이게도… 새프로젝트 생성부분에 CRA(Create-React-App)부분이 존재하지 않았다 충격 실화! 근데 사실 전부터 이런 이슈는 존재해왔는데 어떤점이 문제였고, 그러면 어떤부분이 바뀌었는지 확인해보자 이후 Create-React-App는 CRA로 표현 💡 들어가기 앞서 이영상을 참고하면 좋을거 같다 https://www.youtube.com/watch?v=M4CLvtCS2YU 성능 이슈 사실 이문제는 전부터 존재하였지만, 새로운 모듈러..