웹 개발에 Java가 좋은 선택은 언제입니까?
"Java 만 알고있는 개발 팀이있는 경우"라고 말하지 마십시오.
웹 개발에 Java가 좋은 선택은 언제입니까?
"Java 만 알고있는 개발 팀이있는 경우"라고 말하지 마십시오.
답변:
사용 가능한 많은 프레임 워크, 플랫폼의 성숙도 등을 감안할 때 "거의 항상"이라고 말하고 싶습니다. Java를 사용하지 않아야하는 몇 가지 이유는 다음과 같습니다.
Java 는 중소 웹 사이트에서 사용됩니다. 중요한 점은 PHP보다 Java 웹 사이트에 대한 무료 웹 호스팅이 훨씬 적다는 것입니다. 즉, 자신의 웹 서버를 호스팅하기에 충분한 리소스가 없으면 Java를 선택하지 않을 것입니다.
Java EE 6, 특히 웹 프로파일에는 많은 코딩 없이도 매우 강력한 웹 응용 프로그램을 만들 수있는 많은 표준 기술이 포함되어 있습니다. 불행히도 아직 주류는 아닙니다.
Google 애플리케이션 엔진으로 인해 최근에 약간 변경되었으므로 트래픽이 적거나 중간 정도 인 트래픽 사이트에 대해 표준 Java 웹 애플리케이션 (몇 가지 제한 사항이 있음)을 클라우드에 무료로 배포 할 수 있습니다.
플랫폼이 UNIX / Linux이고 객체 / 관계형 매핑, 보안, 복잡한 웹 서비스 오케스트레이션 등과 같은 다양한 도구가 필요한 경우.
(우리는 단순한 웹 사이트에 대해 이야기하는 것이 아닙니다. 우리입니까?)
또 다른 Java 팀이 나를 화나게 할 때마다 나는 이와 같은 질문을 찾아 증기를 날려 버립니다. 다시 말씀 드리겠습니다. 나는 클라이언트 측 개발자이며 5 년 가까이되었습니다. 일회성 콘텐츠 마이크로 사이트부터 시어스 (Seears)와 같은 대규모 사이트까지, 깊이있는 UI 전문 지식이 필요한보다 정교한 앱 유형 사이트까지 다양한 사이트에서 작업했습니다. 나는 Rails, PHP, .net 웹 폼 (ew), .net MVC (훨씬 낫다) 및 웹 개발을위한 Java 솔루션의 꽃다발 배열을 다루었 다. 나는 또한 약간의 파이썬을 작성하고 장고를 파기 시작했다.
Java 팀에 대한 나의 경험은 보편적으로 끔찍했습니다. 도구는 항상 PITA입니다. 개발자들은 자신이 잘못한 것을 믿기를 원치 않으며, 끝에서 문제를 배제한 후에는 자신의 잔디를 다시 조사하도록하는 것이 이빨을 당기는 것과 같습니다. 내 경험에서 Java 팀을 다루는 첫 번째 희생자는 개발 시간이 전자 메일 시간으로 변환되어 문제가 왜 끝났는지에 대한 여러 가지 긴 설명을 작성하는 것입니다. HTML을 실제로 제어하지 않으면 HTML은 일반적으로 문제가되지 않습니다. 그런 다음 실제로 일부 상위 수준 div를 이동하고 싶기 때문에 모든 것이 결국 끝날 것입니다.
내가 싫어하는 언어에 관한 것들이 있지만 실제 문제는 문화이며 수용이 너무 광범위하다는 사실은 중간 정도의 평범함을 가지고 있습니다. 내가 생각하는 문화는 자바가 판매되는 방식에서 비롯된다. 한 번 쓰고 어디서나 배포하십시오. 번역 : "한 가지만 배우면됩니다!" 매력적인 사람들은 기본적으로 웹 개발과 관련하여 공예를 최소한으로 연마하면서 손톱마다 Java를 하나의 거대한 망치처럼 사용하기를 원합니다.
따라서 Java 및 기타 언어를 알고 있지만 실제로 Java를 선호하는 개발자가 있다면 올바른 솔루션처럼 보이는 경우 계속 진행하십시오. 그러나 Java를 아는 Java 개발자가 있고 그 밖의 모든 것이 실제로 이력서의 요점을 만들기위한 기준을 거의 충족시키지 못하면 HTML 끝에 다양한 반 복잡한 페이지가있는 간단한 응용 프로그램을 작성하고 시도하십시오. 간단한 테스트. HTML을 끊으십시오. 그들이 무엇이 잘못되었는지 알아 내도록하십시오. 그들이 해결하기 시작한 즉각적인 문제가 스스로 비난을 피하고 있다면 웹 개발에서! @ # $를 멀리하십시오. 웹 개발은 여러 분야를 다루며 해당 분야에 대한 적극적인 관심이 필요합니다. 한 언어에 대한 지식 만 유지하고 싶어하고 문제 해결에 관심이있는 것보다 더 끔찍한 사람들에게 적합한 곳은 아닙니다.
Java 자체가 무능의 근원이라고 주장하지 않으며 Spring이 좋다고 들었습니다. 유능한 Java 팀이 있다고 확신합니다. 나는 아직 하나에 빠지지 않았고 그것이 우연의 일치라고 생각하지 않습니다. 나는 Sun이 그것과 많은 관련이 있다고 생각합니다. 또한 IT 부서와 같이 또는 IT 부서에서 웹 팀을 운영하는 것과는 많은 관련이 있다고 생각합니다.
Java는 소규모 웹 사이트에 완벽하게 적합합니다 . 예를 들어 Tomcat 과 같은 Java 웹 서버에서 JSP 페이지를 매우 빠르게 작동시킬 수 있습니다 .
내 경험상 Java는 복잡한 서버 측 처리가 더 필요한 대형 웹 사이트에서 더 일반적이지만이 경우 JSF (JavaServer Faces)와 같은보다 정교한 Java 프레임 워크가 사용됩니다.
역사적으로 전체 Java 설치를 저렴한 웹 호스팅 설정에서 사용할 수 없었기 때문에 이러한 환경에서 PHP와 같은 다른 언어의 유병률을 설명 할 수 있습니다.
웹 개발에서 Java를 사용하는 주요 이유는 다음과 같습니다.
기술적으로 말하면 :
웹 애플리케이션을 시작하는 경우 Ruby on Rails를 사용하고 RoR이 성능 스케일링 한계에 도달 할 때 핫스팟을 교체 할 수있는 방식으로 설계합니다.
Java는 확실한 COBOL 냄새를 가지고 있으며 "저가형 코더는 Java를 사용합니다"라는 말이 있으며 Oracle fiascos는 명성을 돕지 않습니다. 선택 의 여지 가 있다면 최고의 개발자를 유치하는 언어를 선택하십시오.
유일한 이유는 아니지만 서버에서 로직을 수행하면서 로직과 같은 정교한 응용 프로그램과 같은 프런트 엔드로 웹 사이트를 구축하는 인기가 높아짐에 따라 Java가 왜 다른 것과 동등한 지 설명 할 이유가 없습니다. 서버 쪽의 옵션. 그러나 클라이언트 측에서 자바 스크립트가 코드 유지 관리 악몽으로 빠르게 변하고 GWT를 사용하여 그 길이를 유지하여 Java로 코딩 할 수 있다면 서버로 두 세계를 모두 활용할 수 있습니다 그들에게 '경험'을주는 무거운 물건 들기와 고객의 프로세서를하는 것. jQuery와 같은 것을 통합하는 방법을 배우고 원하는 모든 눈 사탕을 가질 수 있습니다.
대안에 대한 전문가는 아니지만 다른 사람이 같은 종류의 유연성과 폭을 가진 사람을 제시 할 수 있다면 기꺼이 들으십시오.
Java는 괜찮지 만 성능이 중요하지 않은 경우 다른 언어로 적은 노력으로 동일한 결과를 얻을 수 있습니다.
Java는 정적 인 유형의 언어이며, 회사에 MSDN 구독이없는 경우 웹 개발에 사용되는 다른 정적 인 유형의 언어 (C # 및 VB.net)보다 저렴합니다. 정적으로 유형이 지정된 언어는 중대형 프로젝트, 복잡한 도메인 규칙 및 많은 백엔드 코드에 적합합니다. 클래스를 더 잘 구성 할 수 있고 IDE가 코드에서 오류를 찾는 데 도움이되기 때문입니다.
PHP, Python, Ruby와 같이 동적으로 유형이 지정된 언어를 사용하면 개발 속도가 훨씬 빨라지지만 코드를 훨씬 더 잘 테스트해야합니다. 시간과 돈이 많지 않고 요구 사항이 매우 빠르게 변하고 매우 복잡한 계산을 수행 할 필요가없는 경우 동적 언어가 훨씬 좋습니다.
보안
대기업이 다른 솔루션보다 Java를 선택하는 주된 이유는 훨씬 더 안전한 것으로 간주되기 때문입니다.
주로 대기업 (현재 오라클)이 지원하기 때문입니다.
Java는 매우 높은 수준의 보안과 탁월한 지원 및 분석을 제공한다는 점을 고려해야합니다 (가격이 비싸더라도).