자바 OR PHP 서버 사이드 웹 앱과 그 이유는 무엇입니까?
저는 많은 DB 접근과 데이터 구문 분석을 포함하는 웹 앱을 만들고 있습니다. Java는 제가 가장 편안하게 사용하는 언어이지만 최근에는 PHP를 사용하는 것이 DB 접근 프로토콜을 훨씬 더 단순하게 만들기 때문에 고려해야 한다고 들었습니다.
저는 PHP에 대한 좋은 지식은 없지만 기능성에 관한 한 더 나은 옵션이 될 경우 사용을 위해 기꺼이 배울 것입니다.
웹 앱은 Oracle DB에 대해 실행되며 GUI용 Flex를 사용합니다. 유사한 프로젝트의 경험과 선택한 접근 방식을 개선한 것이 도움이 되거나 어떤 종류의 의견이든 도움이 될 것입니다.
만약 당신이 자바에 익숙하다면, 저는 PHP를 배우거나 사용할 필요가 없다고 생각합니다.자바가 할 수 없는 것은 PHP가 할 수 있는 것이 없습니다.
전반적으로 PHP는 훨씬 더 관대한 언어이며 일부 작업은 더 빠르고 더 적은 코드로 수행될 수 있습니다.PHP는 확실히 자바보다 추상화 기능이 덜 내장되어 있습니다.하지만 당신이 자바에 익숙하다면, 저는 그것을 고수할 것이라고 말하고 싶습니다.
(PHP 개발자로서 하는 말입니다.)
두 언어의 구문, 철학 및 구현 사이에는 엄청난 차이가 있습니다."DB 액세스 프로토콜을 훨씬 더 단순하게 만든다"는 것이 다른 언어보다 한 언어를 선택하는 데 있어 특별히 좋은 이유는 아니라고 생각합니다.
제 경력은 PHP 프로그래머이지만, 저는 현재 몇몇 대형 자바 웹 애플리케이션을 지원합니다.만약 당신이 두 언어를 같은 시점에서 시작했다면, 저는 분명히 자바보다 PHP를 선호할 것입니다. 하지만 왜 여기서 이용할 수 있는 것보다 더 많은 시간과 공간이 필요한지에 대한 완전한 논의입니다.하지만 만약 당신이 이미 강한 자바 기술을 가지고 있다면, 당신은 PHP에서 적절한 수준의 기술을 습득하는 데 드는 비용을 따져봐야 합니다. 이러한 시스템이 작동하는 방식의 차이 때문에, 당신은 PHP에서 숙련도를 달성하는 데 있어 자바에 대한 당신의 지식이 많은 장애물이라는 것을 알게 될 것입니다.
다음과 같은 다른 요소를 검토해 보시기 바랍니다.
아키텍처 - PHP는 Java보다 기본 프로토콜에 대한 훨씬 더 나은 이해를 요구합니다(Libs/Framework에 의해 많은 기능이 제공되는 경우).
전개의 용이성
성능 고려사항 - opcode 캐시를 사용하는 것은 자바로 작성된 간단한 프로그램과 PHP 사이의 차이가 작다는 것을 의미합니다. 전자는 보통 매우 복잡한 프레임워크 안에서 작성되기 때문에, PHP는 종종 가장자리를 가질 수 있습니다.그것은 확실히 메모리 관리에 대해 같은 복잡성을 가지고 있지 않습니다.
TCO - PHP의 사용 편의성은 양날의 검입니다. 프로그램을 실행하기 위해서는 자바에 대해 많이 알아야 하지만 세계와 그의 개는 PHP로 좋은 코드를 쓸 수 있다고 생각합니다.IME는 Java 프로그래머보다 유능한 PHP 프로그래머를 찾는 것이 더 어렵습니다.
만약 당신이 java를 안다면, IMHO는 JPA를 사용하세요.
새롭고 빠른 프로토타이핑을 배우고 싶다면 python/django를 사용하세요.
저는 이것이 성능에 달려 있다고 생각합니다.PHP를 보면 분명히 매우 큰 플랫폼에 배포되었지만(페이스북은 처음에 거의 독점적으로 사용했습니다), 일반적으로 더 작은 플랫폼에서 사용됩니다.Java의 경우 확장성 이점은 탁월하지만 확장성을 확보해야 합니다.
요청의 기본 라이프사이클을 이해하는 것은 매우 중요합니다.즉, Java 컨테이너가 무엇이며 Tomcat 서버가 어떻게 실행되는지 아는 것은 성능에 미치는 영향을 크게 이해하는 데 도움이 되었습니다.
"코딩의 용이성" 또는 "데이터베이스 연결"과 같은 단일 속성 대신 하나를 선택하려고 하지 마십시오. 이러한 속성은 편향된 정보를 기반으로 기본적으로 선택하게 되는 몇 가지 "중요한" 항목에만 집중하면 충분히 다릅니다.즉, PHP는 표면 레벨에서 보면 DB에 연결하는 것을 더 쉽게 만듭니다. "으악! JDBC를 설치해야 하는데, 그게 뭐죠?등등- 하지만 그것은 게으른 남자의 변명입니다.(내가 알고 있는) PHP가 할 수 있는 것은 자바가 할 수 없는 것이 없습니다.
저에게 문제는 애플리케이션이 실제로 작동하는 것을 어떻게 현실적으로 볼 수 있느냐는 것입니다. 시간당 수천 번의 방문을 계획하고 계십니까? 아니면 대부분의 작은 프로젝트처럼 하루에 백 번의 방문을 계획하고 계십니까?
소규모 프로젝트, 특히 OOP 아키텍처를 완전히 이해하지 못하는 프로그래머에게 PHP의 이점은 엄청납니다. 하지만 게을리하지 말고 바로 사용하기 쉽기 때문에 PHP를 사용하십시오.Java는 매우 강력하며 단순히 학습함으로써 OOP와 일반적으로 좋은 프로그래밍 관행에 대해 몰랐던 것보다 더 많은 것을 배울 수 있습니다(나처럼 독학으로 배운 영역에서 온 경우).
기본적으로 예상 프로젝트 로드를 분석하고, 서로 학습하고, 효율성 및 확장성 요구사항을 측정하고, 질문을 계속한 다음, 어떤 플랫폼이 더 나은지 결정해야 하는 경우에는 램업 시간을 추가하여 분석해야 합니다.
그게 도움이 되길...!
PHP는 Java보다 더 적은 노력과 더 적은 코드 줄로 많은 웹 작업을 할 수 있게 해줍니다. (그리고 저는 제 경험에 대해서만 이야기하고 있습니다. - 항상 "Java를 사용하세요, PHP는 쓰레기입니다."라고 말하는 사람들이 있고 "Java보다 PHP가 훨씬 낫습니다."라고 말하는 사람들이 있을 것입니다.우리의 말을 듣지 말고, 그냥 시도해 보세요. 그렇지 않으면 절대 모를 거예요!)저는 많은 자바 작업을 하지만 웹 앱에 관해서는 만족스럽지 않습니다.대부분의 고객은 Java를 사용할 수 없기 때문에 선택의 여지가 없습니다.
좋은 PHP 프레임워크(예를 들어, Yii, 내가 가장 좋아하는 것)가 있고 교리나 활동적인 레코드로서 정말 좋은 오르말이 있습니다.만약 당신이 언어를 배워야 하고 민첩한 개발에 관심이 있다면, 루비(루비온 레일즈)나 파이썬(장고)도 생각해 보세요. 이들은 마을에서 멋진 아이들이기 때문입니다. :)
자, 여기서 진짜 문제는 여러분의 일을 더 쉽게 하기 위해 도서관이 필요하다는 것입니다.플랫폼으로서의 JVM에는 PHP보다 더 많은 옵션이 있습니다. 다른 이유가 없다면 애플리케이션을 임베디드 언어와 혼합할 수 있습니다.또한 Hibernate는 ORM(Object Relational Mapping)으로서 환상적이며 기본적으로 테이블을 POJO로 간주합니다.
만약 당신이 많은 '원시'적인 것들을 하고 있다면, 저는 실제로 루비 라이브러리이고 JRuby에서 매우 잘 작동하는 속편을 사용하는 것을 좋아합니다.일반적으로, 저는 사람들이 PHP에 대해 좋아하는 오리 유형/간결 코드가 루비에서 JRuby(또는 파이썬 애호가 유형의 경우 Jython)에서 절대적으로 복제 가능하다는 것을 알게 되었습니다.
최고의 라이브러리는 당신이 작업하는 유형 외에도 당신이 다루고 있는 스키마의 펑키함에 의해 결정될 것입니다.여러 테이블에서 열을 한꺼번에 가져오는 복잡한 쿼리를 많이 수행해야 합니까?아니면 "특정 고객에 대한 모든 주문을 가져와 주문 내역 차트에 표시해야 합니다."와 같은 방식입니까?ORM은 웹 앱이 일반적인 경향인 후자에 더 적합하지만, 구문 분석 및 분석에 대한 당신의 언급은 그것이 더 전자인지 의심하게 만듭니다.
겨울잠은 가장 큰 유연성을 제공합니다.자동 생성된 것을 검토하지 않고 사용하는 것은 좋은 생각이 아니지만, Eclipse를 사용하면 클래스를 생성해 주는 플러그인이 있습니다.
Java를 사용해야 하는 또 다른 이유:웹 응용 프로그램의 Glassfish 컨테이너를 보면 사용자를 위해 JDBC 풀이 내장되어 있으며 풀의 통계 및 관리를 볼 수 있습니다.데이터베이스 액세스 권한이 많은 경우 이 기능이 매우 유용할 수 있습니다.
저는 PHP가 필요 없다고 생각합니다, 그냥 자바로 하시면 됩니다.만약 당신이 그 애플리케이션을 웹 애플리케이션이라고 생각한다면, 당신은 PHP를 사용할 수 있습니다.어디서나 액세스할 수 있습니다.
둘 다 사용하는 게 어때요?Quercus는 자바에서 PHP를 실행할 것입니다.Java 코드를 네이티브 PHP 함수인 것처럼 호출할 수 있습니다.당신은 두 가지 모두에서 우위를 점합니다.그리고 당신의 PHP는 Apache보다 더 빨리 실행됩니다.
저는 PHP 프로그래머이며, PHP DB 액세스 프로토콜이 "더 단순"(논의의의 여지가 있음)할 수 있지만, 그것들이 더 낫다고는 말하지 않겠습니다.Java는 DB 연결 풀링을 사용할 수 있으며 데이터, 코드 및 개체를 "지속"할 수 있습니다.
언급URL : https://stackoverflow.com/questions/3970290/java-or-php-server-side-web-app-and-why
'programing' 카테고리의 다른 글
JavaScript/jQuery로 페이지 맨 위로 스크롤하는 방법은 무엇입니까? (0) | 2023.08.07 |
---|---|
파단(루프/스위치)에 대응하는 내부 구조물의 외부 루프를 파단하는 방법 (0) | 2023.08.07 |
단순 LINQ 및 목록 오류:목록 반복자 ''1 위치[Task]'를 입력합니다.컬렉션.포괄적인.'''1[과제]''' (0) | 2023.08.07 |
도커 이미지와 컨테이너의 차이점은 무엇입니까? (0) | 2023.08.07 |
컨트롤러의 UIView 터치 이벤트 (0) | 2023.08.07 |