> 백엔드 개발 > PHP 문제 > 0 PHP 또는 Java 학습의 기본

0 PHP 또는 Java 학습의 기본

王林
풀어 주다: 2023-02-25 22:10:01
원래의
2134명이 탐색했습니다.

0 PHP 또는 Java 학습의 기본

PHP와 Java의 간단한 비교

현재 시중에 나와 있는 전자상거래 소프트웨어는 기본적으로 PHP 캠프와 Java 캠프라는 두 가지 캠프로 요약할 수 있습니다. 그러나 오랫동안 전자상거래에 노출되지 않은 사용자의 경우 겉모습과 눈에 띄는 가격 차이만 보고 실제 차이점을 확인하기 어려운 경우가 많습니다.

사실 PHP + MySQL의 효율적인 개발과 고품질 기능으로 인해 대학 캠퍼스에서 인기가 많은 Java가 점점 더 당황스러워졌습니다. PHP+MySQL은 왜 뒤쳐져 역사의 선두에 서게 되었는가? Java 아키텍처 기반의 전자상거래가 높은 개발 비용과 함께 미래가 암울한 이유는 무엇입니까? 먼저 PHP와 Java의 차이점을 이해해야 합니다.

1. 유래

Java는 원래 가정용 가전제품용 분산 코드 시스템을 개발하기 위해 설계되었습니다.

2. 시스템의 기술적 아키텍처 비교

레이어링은 시스템을 효과적으로 구성하는 방법이며, 분할 및 정복의 아이디어는 컴퓨터 분야에서 매우 중요한 아이디어입니다. 좋은 계층화 아이디어를 바탕으로 '높은 응집력과 낮은 결합도'를 달성할 수 있으며 특정 문제를 분리하여 리소스를 더 쉽게 제어, 확장 및 할당할 수 있습니다.

PHP5 버전 이후 PHP는 시스템 아키텍처에서도 질적인 도약을 이루었습니다. ShopNC는 다층 아키텍처 배포를 완벽하게 구현할 수 있는 PHP 언어를 사용하여 개발되었습니다. MVC 디자인 패턴을 사용하면 전자상거래 소프트웨어는 보다 효율적이고 합리적인 시스템 아키텍처를 가질 수 있습니다. 이는 시스템의 확장성과 수요 적응성을 Java로 작성된 전자 상거래 소프트웨어 시스템과 비교할 수 있게 만듭니다.

Gutmans는 재작년에 멀티 코어 환경에서 멀티 스레딩(JVM)과 멀티 프로세스(LAMP)를 비교한 내용을 자세히 설명한 기사를 발표했습니다. 그 중 멀티 코어 시스템은 LAMP 아키텍처의 멀티 프로세스 접근 방식에 매우 적합하다고 언급됩니다. 이제 칩 산업이 하이퍼스레딩 기술보다는 멀티코어에 초점을 맞추고 있기 때문에 JVM과 같은 멀티스레드 환경의 장점은 오늘날의 하드웨어에서 완전히 활용되지 않을 것입니다. 다중 프로세스 접근 방식은 더 많은 안정성과 신뢰성을 제공합니다. 이번 라운드에서는 PHP가 승리했습니다.

3. 데이터베이스 액세스 비교

PHP는 여러 데이터베이스에 연결되는 함수로 컴파일될 수 있습니다. 데이터베이스에 간접적으로 액세스하기 위해 자신만의 주변 기능을 작성하게 됩니다. 이러한 방식으로 사용되는 데이터베이스가 변경되면 이러한 변경 사항에 맞게 코딩을 쉽게 수정할 수 있습니다. 동시에 현재 PHP는 데이터베이스 인터페이스 문제를 고려하지 않고 브리지를 통해 Oracle, MySQL, SQL2000 등과 같은 다양한 데이터베이스에 대한 액세스를 완료할 수 있는 통합 데이터베이스 인터페이스 PDO를 제공합니다.

동시에 PHP는 MYSQL 데이터베이스를 더 잘 지원하기 위해 더 효율적이고 안전한 MySQLi 데이터베이스 연결도 출시했습니다. Java는 JDBC를 통해 데이터베이스에 액세스하고 다른 데이터베이스 공급업체에서 제공하는 데이터베이스 드라이버를 통해 데이터베이스에 액세스합니다. 특별한 타겟 최적화는 없습니다. 개발된 웹 애플리케이션도 MYSQL 데이터에서 ORACLE 데이터로 전송되는 경우 PHP는 PDO 인터페이스를 사용하므로 프로그램 수정이 거의 필요하지 않습니다. (ShopNC는 이미 자체 개발한 캡슐화된 데이터베이스 레이어를 개발하여 이미 처리를 완료할 수 있습니다.) 여러 데이터). PDO 없이도 일종의 데이터베이스 지원).

Java 개발을 위해서는 특정 변경 사항을 구현해야 합니다. 데이터베이스 액세스 방법의 차이로 인해 PHP가 개발한 전자상거래 소프트웨어와 Java가 개발한 전자상거래 소프트웨어 간의 격차가 발생했습니다. Java는 전통적인 세대이지만 PHP는 새로운 기술 개발의 결과를 수용할 수만 있는 것이 아닙니다. 모든 것 게다가 속도도 꾸준히 향상되었고 효율성도 Java보다 훨씬 강력합니다. 이번 라운드에서는 Java가 약간 덜 인상적입니다.

4. 보안 비교

오픈소스는 보안의 가장 큰 장점이며, LIUNX는 매우 성공적인 증거입니다. PHP 개발 프로그램은 다른 사람들이 코드를 얻은 후에 쉽게 수정할 수 있습니다. Java로 개발된 프로그램은 전체 소스 코드를 볼 수 없으며 일부 컴파일된 클래스 파일만 볼 수 있으므로 기본 아키텍처에 숨겨진 많은 위험을 미리 예측할 수 없습니다.

PHP 코드를 암호화하려면 Zend의 권위 있는 제품인 zend Guard를 사용하여 제품의 지적 재산권을 보장할 수도 있습니다. 보안적인 측면에서 PHP와 Java를 비교하자면 거의 같다고밖에 말할 수 없습니다. 차이가 있다면 개발 프로그래머의 수준에 따라서도 결정됩니다. 이번 라운드에서는 두 사람이 여전히 균등하게 일치합니다.

5. 인터넷 애플리케이션 방향에 대한 통찰력과 확장성

전체적으로 PHP는 인터넷 애플리케이션에 적합한 반면, Java 언어는 설계 초기에는 WEB 중심이 아니었고 일반 서비스에 중점을 두었습니다. PHP는 인터넷 애플리케이션을 극대화할 수 있으며 Java는 표준 또는 비표준 프레임워크를 통해 웹 애플리케이션의 요구 사항을 충족합니다.

PHP가 인터넷 애플리케이션에 적합한 이유는 무엇입니까?

우선, PHP는 대규모 시스템 로드에 대해 분산 배포를 채택할 수 있습니다. 데이터베이스, 애플리케이션 로직 레이어, 프리젠테이션 로직 레이어를 서로 분리하고, 트래픽을 기준으로 동일한 레이어를 분리합니다. PHP는 이 점에서 훌륭한 역할을 합니다.

두 번째로, PHP는 다양한 데이터베이스 인터페이스와 통합 인터페이스를 제공합니다. 여러 다른 데이터베이스의 데이터를 통합하는 데 많은 노력이 필요하지 않습니다. Java는 또한 클래스 및 EJB를 통해 확장 지원을 얻을 수 있으며 많은 공급업체의 EJB/CORBA 및 애플리케이션 서버를 통해 구조적 지원을 얻을 수 있습니다. 기존 Java 또는 .NET 애플리케이션과의 통신 측면에서 PHP는 기존 API 인터페이스를 통해 통신할 수 있습니다. 데이터 통신에 사용되는 데이터는 XML, JSON 등이 전부이다.

PHP는 인터넷상의 최고 성능상과 비교한다면 독보적인 능력을 갖고 있습니다. 그렇다면 자바는 무거운 프레임워크와 번거로운 효율성만으로 유럽의 중세 전사들처럼 최소한의 혁신으로 상을 받아야 합니다. 당시 SUN도 J2EE 솔루션에서 JRuby와 Jython을 지원했다는 것은 놀라운 일이 아닙니다. IBM Websphere는 J2EE가 WEB에 적합하지 않다는 것을 깨닫고 Project Zero 프로젝트를 시작했습니다. 결과는? Project Zero의 수석 설계자는 또한 "Java는 이제 단지 시스템 언어로 간주될 수 있으며 웹 애플리케이션 구축에 적합하지 않다"고 공개적으로 인정했습니다.

실제로 Java는 기업 수준의 전자 상거래 및 주요 비즈니스 응용 프로그램에 깊이 뿌리를 두고 있습니다. 그러나 웹 응용 프로그램에서는 Java 언어의 시장 점유율이 급락했으며 그 하락세가 완전히 드러났습니다. 그래서 이번 라운드에서 Java는 말없이 패배했습니다.

6. 제품화 정도

Java로 개발할 때 거의 모든 프로그래머가 바닥부터 시작하지 않습니다. 왜냐하면 모두 캡슐화된 클래스이기 때문입니다. 이것이 실제로 자바의 제품화가 어려운 중요한 이유이다. 거의 모든 프로그래머가 상대적으로 얕은 애플리케이션 개발을 수행할 수 있기 때문입니다.

Java 클래스에 관해 인터넷에 올려놓으면 무겁다고 할 수 있는 것이 딱 하나 있습니다. Java가 항상 주장해 온 유일한 크로스 플랫폼 우월성은 실제로 초보 프로그래머를 위한 일종의 선전에 불과합니다. 대규모 프로젝트를 많이 경험한 시니어 개발자들은 개발 초기에 프로그램을 실행할 플랫폼이 결정된다는 사실을 알고 있습니다. 프로젝트 규모가 클수록 확실성이 높아지고, 플랫폼 이식은 쉽게 고려되지 않을 것입니다. 다른 플랫폼에서 새로운 서비스를 구축해야 하는 경우에도 새로운 플랫폼에서 추가 개발이 이루어지며, 기존 제품과의 연결도 웹서비스를 통해 해결할 수 있습니다. 그리고 데이터베이스는 중요하지 않습니다. ACCESS를 이용해 대규모 상용 프로그램을 개발하는 사람은 없을 것 같아요!

CRM, ERP, 보고서, 문서 관리 등 대부분의 비즈니스 애플리케이션도 웹으로 전환한 것처럼, 인터넷 애플리케이션 측면에서는 눈부신 PHP 제품이 많이 있습니다. 보장률은 99% 이상입니다. 많은 제품들의 품질도 고르지 못하지만 각 방향과 분야별로 대표적인 제품들이 있습니다. 예를 들면 WordPress, Drupal, mediaWiki, osCommerce, SugarCRM, Discuz, QeePHP, ShopNC 등이 있습니다.

제품화 정도는 산업화 정도를 직접적으로 뒷받침하는 중요한 데이터입니다. 산업화할 수 없는 도구는 사실 그 자체로 매우 슬픈 일이다. 이번 라운드에서 Java는 완전히 패했습니다.

7. 개발 및 후속 유지 비용 비교

PHP는 여러 측면에서 Java보다 강력하므로 Java로 개발된 전자상거래 제품이 어떻게 PHP 제품과 경쟁할 수 있습니까? 정부 노선을 이용하고, PHP 캠프는 국도를 이용하고 있습니다. Java는 대학교 선생님의 말과 행동에 의존하여 인터넷 세계에서 큰 호응을 얻었지만, PHP는 자체 품질에 의존하여 사람들의 마음을 사로잡았기 때문에 끊임없이 칭찬을 받았습니다.

소프트웨어 가격은 주로 자체 비용 및 기능과 연관되어 있습니다. PHP에 대한 진입 장벽은 낮지만 어떤 면에서든 마스터가 되는 것이 가장 좋습니다. C를 배운 대다수의 프로그래머는 쉽게 PHP 프로그래머로 변신할 수 있어 PHP 프로그래머가 국민 스포츠만큼 인기를 얻고 있으며, 고품질의 PHP 소프트웨어 제품도 끝없이 등장하고 있습니다.

서버 비용 측면에서 PHP의 가장 고전적인 조합은 PHP + MySQL + Apache이며 Java는 MySQL + Tomcat, JBoss 및 기타 소프트웨어와 결합되는 경우가 많습니다. 모든 소프트웨어는 오픈 소스이며 무료이므로 서버 측에 대한 투자가 높지 않습니다.

Java 프로그래머의 학습 비용은 PHP의 몇 배입니다. 그 이유는 Java 자체가 WEB 개발에 특별히 사용되지 않기 때문입니다. 따라서 Java로 전자상거래를 개발하는 데 드는 비용은 PHP로 개발된 유사한 소프트웨어 제품보다 훨씬 높습니다. 그러나 바로 Java 개발 비용이 높기 때문에 동일한 제품을 개발하고 동일한 효과를 얻으려면 PHP 개발보다 N 배 더 많은 시간과 경제적 비용이 소요되는 경우가 많습니다. 이는 직접적으로 막대한 시간과 비용 낭비를 초래합니다. 마지막 라운드에서는 자바가 WEB 배틀에서 완전히 패했다.

위의 데이터를 통해 독자들은 Java 기반 전자상거래 제품을 구입하면 이후 유지 관리 기간에 많은 경제적 비용과 귀중한 시간이 소요된다는 점을 분명히 알 수 있습니다. 비즈니스 기회는 순간적으로 사라지게 됩니다. 기술이 실현될 때까지 비즈니스 운영이 항상 오랜 시간을 기다려야 한다면 원추리가 사라질까 두렵습니다.
상품을 모르는 것을 두려워하지 말고, 상품을 비교하는 것을 두려워하십시오. PHP로 개발된 제품은 널리 사용되고 평판도 좋지만, Java로 개발된 제품은 확장이 어렵기 때문에 제품 수는 줄어들고 프로젝트 유형은 많아집니다. 이는 PHP용으로 개발된 제품의 전반적인 성능이 수천 명의 사용자에 의해 테스트되고 개선되었기 때문입니다. Java는 그것과는 거리가 멀기 때문에 Java가 정부 경로를 취하고 가격 격차를 이용하여 구매자의 사고 방식의 균형을 맞출 수 있다는 것은 놀라운 일이 아닙니다.

요약:

PHP는 전자상거래 소프트웨어 개발의 가장 강력한 촉진자이며 필연적으로 되돌릴 수 없고 의문의 여지가 없는 일반적인 추세가 될 것입니다. 프로그래머로서 PHP든 Java든 키 문제는 실제로 우리에게도 동일합니다. 이 수준의 전쟁은 실제로 주요 제조업체 간의 문제이며 우리와는 아무런 관련이 없습니다. 그러나 예를 들어 웹 측면입니다. 나는 아직도 나의 캠프를 응원하고 싶다!

추천 튜토리얼: PHP 비디오 튜토리얼

위 내용은 0 PHP 또는 Java 학습의 기본의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿