Can PHP sap kurumsal düzeyde sitelerin yanı sıra Java

14 Cevap java

FLAMING YOK LÜTFEN!

Ben gerçekten bu konuda bir kaç objektif görüşler isterim. Ben kuvvetle PHP geliştirilen bir proje var ama Java daha iyi bir çözüm olacağını endişe müşterimiz var. Böyle Flickr ve Digg gibi siteler PHP çalıştırmak biliyorum, ama ben çalışan bir ortamda PHP'nin eksikliği benim proje yok endişe duyuyorum.

Örnek. PHP (Ben biliyorum) başka bir işlem çatal için kolay bir yol yoktur, ne de (cron işleri biraz çirkin olan) arka plan işlemlerini çalıştırmak için bir deamon başlamak için kolay bir yol var.

Ben büyük bir yazılım parçası yeniden yazmak için nefret ediyorum, bu yüzden bazı katı danışma ihtiyacı duyuyorum.

14 Cevap

Eğer Digg ve Flickr PHP çalıştırmak biliyorsanız Peki o zaman zaten cevabı biliyorum. Ben birkaç tane daha ekleyeceğiz: Wikipedia, Facebook ve Yahoo.com. Eğer site bile iyi şanslar o zaman, bu yakın gelecek düşünüyorsanız ...

Ne bir "ortam çalışan eksikliği" dediğimiz aslında bir gücü olarak kabul edilebilir - hataları kendine çalışan örneklerini içerdiği ve daha istikrarlı bir ortam için yapım, diğer paylaşılan kaynaklara yaymak değil. Tabii, verimli bir şekilde ortak veri paylaşımı ile uğraşmak zorunda, ama bu oyunun bir parçası. Önbelleğe alma, tembel yükleme ve diğer teknikler denklemin o kısmını çözmeye yardımcı olur.

Ayrıca, Java uzun bir zamanını veya belirli optimizasyonlar gerektiren backend görevleri işleyebilir bir köprü kullanarak PHP ve Java karıştırmak oldukça yaygındır.

Tüm PHP, gelir önemli miktarda üretir bir kurumsal düzeyde uygulama yazdı.

Ben bir dış kaynaktan izlemek diğer işlemleri yumurtlamaya exec yoluyla "forking", arka plan işleme yapmak gibi cron işleri gibi şeyler kullanmak yapmak (örneğin bir veritabanı veya bir xml depo olarak.)

Vb Bu ölçekleme, kümeleme gibi Zend PHP son sürümleri ve çeşitli ürünler ele alınmıştır bazı konular vardır, benim görüşüme göre, PHP için olumlu bir adım oldu.

Ancak, programlama açısından, PHP istenen bir çok solcuların. Tutarlılık fonksiyon isimleri eksik, ördek yazarak benim açımdan iyi bir şey değil, sözde nesne yönelimli destek sinir bozucu, vs

Ama - kısa - evet, kurumsal düzeyde uygulamalar PHP kullanmak için uygundur when used correctly with reasonable standards and a good amount of thought put into your design.

İyi şanslar!

Ben php seviyorum çünkü ben muhtemelen tamamen adil olmayacak, ancak kurumsal düzeyde uygulamalar için kesinlikle iyi bir derece olgun ve yaygın dil ve bulunuyor. O kadar java için performans olarak boşluk minimal olacağını biraz aşağı olsa bile - Ben bu olsa durum olduğunu sanmıyorum.

For sure not worth it to rewrite your app in java.

Can PHP handle enterprise level sites? Yes.

Handle as good as Java? No.

Bu yeniden yazma değer olup olmadığına sizin özelliklerine bağlıdır. Biz proje kullanan java konuları yeniden yazdı ve sen ben büyük olasılıkla evet derdi java php dönüştürme herhangi bir hız kazanacaktır soran varsa performans kazancı yaklaşık 10x oldu.

Ben o zaman java gitmek yeterli değilse, php kodunu ilk mümkün olduğunca optimize çalışacaktı.

(Ben btw php ve java de seviyorum)

Eğer veyatamda bu işlevselliği bazı eksikliği hakkında çok endişe gibi geliyveya.

Bu arada Java çalışma zamanı gibi sarılmış, ama burada php çatal nasıl değil:

İşte çatal nasıl bir yol:

$arg1 = 'argv1';
$arg2 = 'argv2';
system("php ./script2.php $arg1 $arg2 &");

http://www.php.net/system

veya

$output = shell_exec('script2.php &');

http://www.php.net/shell_exec

Zaten ifade ettik Ve, cron işleri plan / periyodik işlem yapabilirsiniz.

Otherwise it sounds like you have a communication issue with your clients. What exactly are their concerns? Are the clients other software engineers? Are they willing to pay fveya the conversion to Java? Are they just new to php? Are they non-tech savvy and have heard that "Java is cool"?

If perfveyamance does matter, what research have you done in optimizing php? Have you looked at caching php opcodes to improve perfveyamance? Just google php cache opcode fveya mveyae info.

Java değil, PHP tercihim:

"Because this is matter most of all if you want achieve code which: 1. Reliable 2. Understandable 3. Reusalbe "

http://dmitry-nikolaev.blogspot.com/2009/06/php-vs-java-from-developer-perspective.html

Ben gerçekten en büyük web sitelerinden bazıları için sadece para cezası ölçekler PHP kurumsal düzeyde ölçeklendirme ile sorunlarınız hayal bile edemiyorum. Sen Digg ve Flickr söz ama daha Yahoo ait özellikleri gibi daha birçok vardır ve ben sadece diğer gün wikipedia duydum.

Orada Java ve gibi. NET guruları sadece ana amerikan gibi birçok PHP uzmanları yoktur, çünkü bu soru çok gelir düşünüyorum. Kurumsal yazılım çalışanların çok zaten bunları biliyorum çünkü bu dillerde yazılmış olması eğilimindedir.

Şimdi bu büyük şehirler için geçerli olmayabilir. Ben bölgemdeki (Cleveland.) iyi PHP Silikon Vadisi ya da New York'ta devs ama çok değil bulmak zor değil hayal

Kurumsal uygulama php yazılmış olabilir? Hayır.

Explanation. If you are speaking about enterprise application you are talking about three tire system architecture. Database tire, middle tire and client tire. The middle tire should have distributed components if necessary but for large enterprise apps it is always necessery. Java have ejbs - distributed objects, Hibernate PHP is only scripting language for web apps. It cannot build middle tire with php other than web (distributed components for other clients than browser).

This is where this story ends! We cannot speak about enterprise application without distrusted components. With php you can build maybe a huge projects, but you cannot share the business logic with other clients than than browser. Someone could say you can use web services, but the services in php are not suitable for mission critical services.

Have you ever seen a bank application written in php? Have you seen bank components written in php? No.

PHP code can be so messy, so unstructured, so full of errors and thats why it cannot be used for enterprise. You can use continuous integration with phpundercontrol but it is not as java. There is no build so error could show up any time. Have you seen php classes that are reused and are using enterprise patterns? Very rarely. PHP programmers do not write abstractions, polymorphism and other OO staff.

And finally I will give you an example. "According to Oracle Corporation, by 2006 over 30,000 organizations had become Fusion Middleware customers, including over 35 of the world's 50 largest companies" wikipedia source. This technology is java based.

The other big player is IBM also using java. The rest of the market is taken by Microsoft. There is no room for php in bank sector, financial sector, military, governments, army It can only be used for web sites, but not distributed application, business inteligence.

Php kurumsal dil olamaz neden görüşmek için düşündüğü bir çok şey var.

Bu sizin ihtiyaçlarınıza bağlıdır.

Bunu değerlendirmek öneririm aşağıdaki parametrelere göre her iki

  1. Şifreleme ve Kriptografi için destek.
  2. Ortak hacker saldırılarına karşı savunma mekanizmaları oluşturulmuş.
  3. Buradaki belgelerin üçüncü parti kütüphane desteği, ve kalite.
  4. SOAP hem de, uygulama ve entegre tabanlı web hizmetleri REST yeteneği.
  5. Olgunluk ve IDE debuggerlar gibi geliştirme araçları etkinliği.
  6. Yük Dengeleme ve Oturum desteği üzerinde başarısız.
  7. Web Geliştirme Altyapıları ve aynı vade kullanılabilir.

Ben eminim, diğerleri vardır. Ama alt çizgi; Eğer kurumsal uygulamalar inşa ediyoruz, güvenlik denetimleri için hazır, ve seçtiğiniz geliştirme platformu, bu geçerken size yardımcı olur emin olun.

Başka bir şey değişmez, uygulama kuruluş içinde diğer uygulamalar konuşmak gerekir, olduğunu. Yani seçtiğiniz platformu yerleşik olgun ve standartlara uyumlu web hizmetleri yığını, sahip olduğundan emin olun

Teknik olarak, PHP sadece atılan herhangi bir "kurumsal" görevle ilgili destek olabilir. Içine çalıştırabilirsiniz sorun IT ve diğer bölümleri de aşina olmayan bir şey yüklemek ve desteklemek için isteksiz olmasıdır. "Kurumsal" PHP ve LAMBAYA kullanarak engelleri neredeyse tamamen yapay.

PHP önuç gelişimi için iyidir. Öğrenmek için hızlı ve gerçekten PHP programcısı ortalama maaş jave / .net daha düşüktür. Ayrıca, PHP http isteğini ele oldukça iyi. Bu iyi bir çalışma vakit olmadığı doğrudur. Bazı kullanım için böyle bir ortam gerekir Ancak, her zaman (soap olmak zorunda değildir) bir hizmet olarak diğer çerçeve üzerinden gibi işlevini açığa çıkarabilir.

Sürece, bazı teknoloji "içine" gerçekten vardır ve her şey için bir çözüm istiyorum. Genel olarak, teknoloji bir sebebi var. Benim önerim her türlü teknolojiyi göz ardı kalmamasıdır.

Ben gerçekten uygulamaya bağlı olduğunu düşünüyorum. Java (için bunun parçaları dönüştürerek sonra, çok sayıda ve sunucu tarafında işler çok veya hızlı bir birincil endişe bir şey yapmak için gereken bir kurumsal düzeyde uygulama yapma olsaydı ya da C gibi derlenmiş dil odaklı hatta hız onun bile, önemli bir endişe) iyi bir fikir olacaktır.

Ancak, PHP, daha normal bir tarzı web sitesi idare edememek açısından, bu çok olasıdır.

Ayrıca, açıklama biraz istiyorum. Java aslında sayfaları için HTML kodu hizmet veren bir rol alarak, ya da Java uygulamaları ile etkileşim istemci için sitede gömülü olması için demek, sitenin arka uç olarak çalışması için demek istiyorsun? Ben her iki şekilde yapılabilir gördüğümüz gibi, kararı büyük bir rol oynar. Ben clientside, bunu sunucu üzerinde daha az yük getirir ve genellikle birlikte çalışmak için kullanıcı için yumuşak olacak gibi orada olması gereken Java Runtime bakımı değil, Java ya da bir gerçek zamanlı APP için benzer bir şey kullanmak istiyorsanız olacağını düşünüyorum .

Gerçekten, tüm uygulamaya bağlıdır. Iş için doğru programlama dili seçin. Eğer daha tipik bir web sitesi çalıştırıyorsanız, daha sonra PHP sadece iyi yapacağız. Eğer hız güvenmek bazı çok özel şeyler yapmak gerekiyorsa, geleneksel bir programlama dili muhtemelen uç daha iyi çalışacaktır. Ve her zaman karıştırmak ve maç. ^ _ ^

-Nicholas

Caucho uygulama sunucusu Java ve PHP destekler gibi, PHP ve Java arasında seçim gerek olmayabilir. Bkz here.

Ben ürünün taşınabilirliği ile ilgili olabilir ve ben kendim açıklayacağım. Bu uygulama erişilebilir offline olmak gerekiyor? Birisi internet erişimi olmadan bu uygulamaları çalıştırmak istediğiniz bir olasılık var mı? Cevap hayır ise, PHP ile hiçbir sorun olmaması gerekir. Ama evet ise, java / Web ve Windows (Linux ya da ne olursa olsun) hem çevreyi hem yapabileceği .net veya diğer dil bir göz tutmak.

Ben de php "script çocukları" ve "korku kod" bir sürü bir sürü görmek. Ben iyi yazılmış projenin bir sürü olduğunu biliyorum ama iyi bir programlama grafik olmadan, kötü gidebiliriz.

Ben PHP dayak yapmak istemiyorum ama sadece bazı soruları tetikliyor.