(제5회 카카오테크밋 패널토의 내용의 일부입니다.) "[Phocus] 사용자 경험 중심 스벨트 이미지 뷰어 라이브러리" jordan(송가람님)의 발표영상 보러 가기 ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-kB-O2vy9_ek.html
(제5회 카카오테크밋 패널토의 내용의 일부입니다.) "Chrome Devtools를 활용하여 나만의 웹뷰 디버깅 환경 만들기" teenie(조민지님)의 발표영상 보러 가기 ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-VeH70q7p9NM.html
(제5회 카카오테크밋 패널토의 내용의 일부입니다.) "웹 텍스트 에디터 개발에 필요한 고민과 신규 에디터 소개" eliot(박민규님)의 발표영상 보러 가기 ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-xdj0xrS_FTE.html
1. JDK 21기준으로 node.js에 비해 I/O intensive한 작업에서 유의미한 차이가 나지 않고, CPU intensive한 작업에서는 오히려 유의미한 강점을 갖습니다. 2. Mavne, Gradle의 존재로 3-Party library 관리하기가 아주 용이합니다. NPM의 버전관리는 아주 원시적이죠. 3. 시장에 숙련자가 많아 구인하기가 아주 용이합니다. 4. 언어의 문법이 제한적이고, 타입 시스템이 아주 강력해 오히려 협업환경에서 좋습니다. 부가설명을 해보자면, - 그렇게 JS 좋다는 사람들도 막상 개발자 수십, 수백명 이상의 협업환경을 겪으면 JS 좋다는 얘기를 절대 하지 못하죠. MS가 괜히 TS를 만든게 아닙니다. - 10명의 JS 개발자가 있다면 10인 10색의 코드스타일이 나오는데 반해 10명의 Java개발자가 개발을 해봐야 어차피 Java의 제한적인 문법때문에 상당히 일관적인 코드가 나옵니다. 이는 대규모 협업환경에서 개발자가 아무리 많아져도 코드의 일관성이 어느정도 보장된다는 의미와 같습니다. 5. 언어, 생태계의 하위호환성에 대한 집착이 병에 가까운 수준이라 이게 오히려 실무환경에서 유지보수성을 최대치로 끌어올립니다. 3-Party library의 마이너 버전 하나가 변경되었다고 프로젝트가 실행되지 않는 JS 생태계와 비교하면 사실 비교하는게 미안한 수준이긴 합니다. 6. Spring Boot 하나면 대부분의 엔터프라이즈 요구사항이 커버됩니다. Spring Boot의 버전만 맞추면 모든 하위 라이브러리의 버전이 통일되는 BOM의 존재도 아주 강력하죠.
Java 는 대규모 협업환경이 될수록 다른 언어들에 비해 선형적인 강점이 생깁니다. JS는 언어나 생태계가 server side에서 쓰기에는 낙제점을 줄수밖에 없다고 보고요. 1~3명 정도의 소수 개발자가 협업하는 환경이라면 별 문제 없이 사용할수는 있겠네요. 시간이 지나도 1~3명일지는 잘 모르겠지만요