:: 게시판
:: 이전 게시판
|
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다. 통합 규정을 준수해 주십시오. (2015.12.25.)
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
18/03/19 23:03
Cordova랑 조합은 어떤지 모르겠는데... 스탠다드 웹 개발은 요즘은 React가 거의 디팩토인 것 같고, Vue가 약간 힙하게 비비고 있기는 한 것 같습니다. 리액트 뷰 투탑..
18/03/19 23:35
Angular를 작년 1년 동안 재밌게 잘 썼습니다만 프론트에 힘을 빡 줄거 아니면 거르시라고 하고 싶네요.
특히 모바일쪽에서는 Angular든 Ionic이든 특유의 버벅임이 신경쓰입니다.
18/03/20 01:10
Angular 는 2 나온 시점부터 너무 많이 바뀐 탓인지 개발자들이 떨어져나가(어차피 새로 배울 거 리액트 배우자는..) 많이 기세가 꺾인 것 같고, ReactJS 와 Vue.js 가 요즘은 가장 관심받는 것 같아요.
18/03/20 02:48
(수정됨) 웹쪽 프론트엔드, 백엔드하고 있습니다. (정확히는 얕게 발걸친 게 좀 많긴 합니다.)
앱은 아시다시피 React native, Xamarin 같은 것 많이하는 추세죠. 저는 React native 쪽과 네이티브 쪽을 주로 보다가 제가하는 기획이랑 앱 자체가 우선은 맞지 않아서 모바일 웹으로만 방향을 둔 상태입니다. 웹 프론트엔드는 역시 React, Vue, Angular 이런 것들인데 React를 많이하긴 합니다. 저도 이것저것 써봤지만 React로 우선 정착하는 중입니다. React하실 것이면 상태 관리는 Redux, Mobx로 보통하고(Redux 쪽은 Typescript 붙이는 게 좀 지저분할 수도 있는데 하다보면 얼추 쓸만하게 된다고 느꼈습니다.) Typescript, Flow 같은걸로 정적 타입핑을하고 webpack, parcel 같은 번들러를 사용하고 코드 스플리팅, SSR은 react-loadable, react-universal 같은 것 도움 받고(SSR + 코드 스플리팅쪽은 하시다보면 저런 라이브러리 써봐도 코드가 깔끔하게 안 나오는 느낌이 드실 수 있는데 그냥 안 쓰고 라이브러리랑 바벨 플러그인 같은거 하나 만들어서 하는 것도 괜찮더라고요. SSR 하실 때 미리 컴포넌트 빌드하셔서 사용하는 것 잊지마시고요.) 비동기 작업 관련해서는 Redux를 하신다면 redux-observerble, redux-saga, redux-thunk 같은 미들웨어들을 사용합니다. HTTP는 fetch, axios 등을 쓰고요. 테스트는 Jest 많이 씁니다. 컴포넌트 나열할 때는 스토리북으로(컥 스토리보드로 -_-;; 적었다가 수정했습니다.) 컴포넌트 렌더링해서 보기도 합니다. (적용도 생각보다 쉽습니다.) 처음에는 CRA 같은 스타트킷이 애용되고 Next.js 같은 서버 사이드 프레임워크도 많이 사용됩니다. (저는 그런 프레임워크들을 안 쓰지만 본인만의 best practice 만드는 상황이 아니면 쓰기 충분히 좋습니다.) 폼 검증은 React Form 같은 것 많이쓰더라고요. (저도 너댓게 경험해봤긴 한데 결국 직접 만들어서 사용하고 있습니다. 아무래도 폼 검증 같은 건 개개인 성향을 좀 타다보니 바로 만들어 쓰시는 것도 나쁘지 않다고 봅니다.) 컴포넌트 부분만 핫 리로드해서 코딩하는 게 좋고요. 에디터는 VS Code 같은 것 많이씁니다. (저는 vim을 주력으로 쓰는데 만약 vim 쓰고 계신다면 react 쪽은 YCM, ale 같은 유명 플러그인들 정도만 쓰셔도 코딩 수월하실 겁니다. 그래도 쓰다보면 결국 vimscript 만지게 되지만..) CSS 는 SASS, LESS, PostCSS 역시 많이 사용됩니다. (React 컴포넌트에 스타일을 붙여쓰는 방법이 몇 가지 있는데 다 경험해보시고 맞는 쪽을 사용하시면 될 것 같습니다. 저는 컴포넌트별로 SASS 파일 만들어서 사용중입니다.) 백엔드쪽은 예전에는 유명 스크립트 언어들이 웹 개발에 많이 쓰여왔고(저도 물론 그런 언어들을 역시나 많이 거쳐왔고 하고 있습니다.) 지금도 거기에 React를 붙여쓰는 경우가 꽤 있긴 합니다만 Node.js를 역시 많이들 사용합니다. 프레임워크는 Express 쪽이 많고요. (프레임워크 쓰실 것이면 Koa, Hapi 같은 유명한 것들도 몇 개 있는데 조금씩은 경험해보시기를 추천합니다.) 거기에 이제 React랑 접목시킨 두꺼운 프레임워크들이 좀 있습니다. 저는 그냥 제가 만들어서 사용중이긴 합니다. (그런거 하나 골라잡으면 구현된대로 프론트엔드, 백엔드 한 방에 사용할 수도 있습니다. 저는 아직 잘 안 맞더라고요.) 추가적으로 GraphQL 같은 거 고려하신다면 Relay 같은 것도 알아보시면 좋습니다. 자세히 말하면 한도 끝도 없겠지만 이 정도면 기반의 어느 정도는 충족되실 겁니다. (일부러 유명 라이브러리 위주로만 언급했습니다. 애니메이션, 외부 이미지 처리 같은 것들은 생략했습니다. 어차피 모바일로 적다보니 너무 길게 쓰는 것도 무리가 있지만요. 크크) 참고로 저는 협업을 안 하는지라 협업 관련한 쪽을 모를 수도 있습니다. 만약 Vue나 Angular 잡으셔도 대게 비슷한 흐름이라고 보시면 됩니다. 사실 저는 간단히 만드는 것이면 아직 jQuery도 충분히 훌륭하다고 봅니다. 건승하시길 바랍니다.
18/03/20 08:42
안녕하세요 초급 java웹개발자입니다. (프론트하다가 지금은 백=DB쿼리 쪽 같이 하고있는데요)
제 장래를위해 진심으로 궁금해서 그런데 외국나갈생각은 전혀 없고 한국에서 웹개발자로 지낼려면 jsp,제이쿼리, 자바스크립트,Ajax 말고도 React,Vue, Angular 같은것도 할줄 알아야되나요? spring은 무조건 해야될것 같아서 배웠는데 React, Vue는 국비지원 학원도 없던데 난감하네요..
18/03/20 09:08
성향차이죠. 프론트도 할거면 리액트나 뷰하면 되는거고, 아니면 백엔드 계속할거면 다양한 db와 메시지 컨슈머 만져보면 되는거고....
라고 적고보니 프론트를 먼저하셨군요!크크크 아침이라 정신이 없네요.
18/03/20 10:05
헐 그렇군요. 자바스크립티야 누구나 다 하겠지만
리액트는 배워놔야겠네요.. 쩝 아 또 신기술을 배워야되다니.. IT개발자의 숙명.. DB는 쿼리 하나만 잘하면 되는뎅..
18/03/20 10:29
아마 여태 알고 있으시던 자바스크립트가 자바스크립트가 아닐 가능성이 높습니다. 자바스크립트 잘하는 사람이 정말 없기도 하고 정말 많이 변해서.. 학원에서만 배우셨다면 아마 생소하실거예요
18/03/20 11:31
그래서 백엔드 개발로 가려는중..
물론 토익이랑 영어도 공부중입니다. 컴공 졸업후 전공 살리기 너무 싫었던게 IT개발자는 나이먹어도 계속 신기술 배워나가야된다는 공포감때문이었는데 역시나 힘드네요.
18/03/20 13:29
안녕하세요. 저는 풋내기일 뿐이지만 제 생각은 그렇습니다. 굵직한 것 하나만 파도 충분하다고요. 예컨대 언어 그 자체만을 공부하는 것에 반감을 갖는 분들이 꽤 많으시겠지만 저는 심지어 Java를 언어적인 측면에서만 파도 결코 쉽지 않고 엄청난 공부가 될 것이라고 생각합니다. 혹은 HTML을 하루 이틀에 배울 수도 있지만 몇 년에 걸쳐 배울 수도 있고 CSS를 알아도 float, grid, flexbox 같은 것으로 남들과 비슷한 정도로 그려낼 줄 아는 것과 폰트별 요소의 콘텐츠 영역을 모두 정리해서 콘텐츠 영역 높이 변화에 따른 실제 문자 높이와 콘텐츠 영역 내 위 아래 여백의 변경 정도나 수직으로 소수점 단위가 적용된 요소가 1px씩 특정 패턴으로 틀어지는 정도 따위 등들을 웹 브라우저별로 파악하고 있어서 어떠한 부분이 왜 어떤 웹 브라우저에서 실제 10px로 렌더링되는지를 상당히 정확한 정도로 규명할 수 있는 것과는 분명 차이가 있죠.
장래를 고려하여 개발자에게 평생의 근육이 무어냐 생각하면 현재는 개발자 마인드와 정리하는 습관 정도를 뽑고 싶긴 합니다. (저도 아직 개발자 마인드가 부족해 제가 개발자라고 생각하면서도 동시에 해보려던 진짜 개발자 생활을 해보지도 못하고 끝날 것 같다는 생각을 자주 합니다.) 일자리를 고려해 추가하자면 시장을 파악하는 능력과 마케팅 능력을 뽑고 싶고요. 시장이 존재한다면 본인이 배운 게 유망하지 않더라도 충분히 먹고살 수 있다고 생각하고 만약 배우다 보니 깊이가 깊어져서 그 이상을 바라볼 수 있다한다면 적절한 마케팅으로 표현할 줄 안다하면 배워본적 없다고 생각되는 곳에서도 실제로는 본인의 지식과 경험을 잘 활용할 기회가 널려있을 것이라고 봅니다. 만약 혼자 프리랜서 일을 하신다면 뛰어난 기획력이 개발 능력보다 더 도움이 된다고 보기도 합니다. 기획력은 프로그래밍 구조를 큰 방향에서 본인과 최적화된 길로 우회시킬 수 있으면서도 유저 경험을 강화하기에 좋은 근육이라고 생각해요. 요즘 웹 프론트엔트 라이브러리 생태계에서 대해 개인적인 생각을 정리하자면 배워도 좋고 안 배워도 좋다 입니다. Java로 웹을 하신다 하시면 Java와 HTML, CSS JavaScript(ECMAScript) 정도라도 배우려면 배울 게 충분하다고 생각하고 만약 React 같은 생태계가 궁금하고 배워보고 싶다면 배우는 것이라고 봅니다. 당연한 말이겠지만 React도 만년 영원할 것은 또 없으니 언젠가는 고이 접어둘 때가 올 겁니다. 그렇다고 React를 깊이 판 누군가의 경험과 정리해 놓은 지식들이 무용지물 될 것이라고 생각치도 않고요. 제 답변이 좋지 않은 답변일 수도 있으니 잘 걸러 들으시길 바라고 즐거운 프로그래밍 하시길 바라겠습니다.
18/03/20 11:25
기존의 방식들 외에도 최근에 구글이 새롭게 내놓은 Flutter 같은 것에도 관심을 가져볼 만하다고 생각합니다.
https://flutter.io/ 웹뷰를 사용해 렌더링을 하던 기존 방식을 따르지 않기 때문에, 버벅이는 일 방지 등의 성능 측면에서 큰 강점이 있다고 합니다. 다만 사용하는 언어가 구글이 개발한 웹 프로그래밍 언어인 DART입니다. Ionic도 처음 접했을 때엔 꽤 괜찮다고 생각했었는데 이런 물건들은 태생적 한계가 있다보니 결국 버벅이는 게 좀 답답해지더라고요.
18/03/20 11:58
다릅니다. 웹으로 비유하면 DART는 프론트엔드에, Go는 백엔드의 역할을 맡겠죠.
여담으로 개인적인 생각으로는 프론트엔드에 Vue.js가 힙하다면, 백엔드에선 Go가 그렇다고 생각합니다. (제가 Go가 주력이라서 하는 말은 아닙...)
|