Genel hatları ile baktığınızda PHP ile Java/Java.io arasındaki fark ne ise, PHP ile Node.js arasındaki fark da odur. Node.js veya Java/Java.io ile soket sunucu uygulamaları yazabilirken PHP ile yazamaz mısınız? Elbette yazabilirsiniz. PHP'nin eksik yönü "multithreading" konusunda yerleşik destek sağlamaması. Ancak bu yönü ile de belli bir noktaya kadar uygun bir şekilde kullanılabilir. Örnek bir uygulama olarak;
https://www.r10.net/php/1018662-php-ile-online-okey.html
Yine de bu genellemeleri bir yana bırakarak PHP ve Node.js karşılaştırması yapacak olursak, her fonksiyonu asenkronize çalışan bir dile karşı, bu adil bir karşılaştırma olmaz. Sunucular zamanlarının büyük bir kısmını giriş/çıkış işlemleri ile harcadıkları için PHP bir dosyaya/sokete veri yazmak isterken, bir dosyadan/soketten veri okumak isterken, veritabanı işlemi yaparken Node.js'e karşı çoktan büyük bir arayla kaybetmiş olacaktır. Kullanıcı sayısı yükseldiğinde ise belli bir zamandan sonra stabil çalışmayacaktır. PHP bir yana, node.js gibi "event-driven" programlama sağlayan platformlar genellikle "multithreading" dillerden daha hızlıdır.
Tabii Node.js isminin bu kadar çok zikredilme nedeninin altında sihirli bir şey yok. Önceden de farklı dillerde benzer alternatifler vardı ancak bu kadar rağbet görmemişlerdiler. JavaScript kolay kullanılanabilen bir dil ve pek çok farklı platformda çalışan web programcılarının en büyük ortak paydası. Böyle bir dil ile sunucu tarafında da çalışma imkanı kulağa doğal olarak cazip geliyor. Ayrıca şahsi kanaatim olarak Javascript ile kod yazmak -özellikle CoffeeScript ile beraber-, pek çok dil ile kod yazmaktan daha eğlenceli. Bunun yanında "event-driven" bir dil olması, ister istemez "yeni nesil süper dinamik arayüz" kavramını ortaya çıkarıyor. Fakat diğer yandan, Javascript yerine göre aslında zor bir dil olabiliryor. Node.js tam anlamıyla olgunlaşmış bir platform değil, şu an ki versiyonu henüz "0.10.4". API sık sık değişiyor ve sorunlu olabiliyor. Farklı platformlardan gelerek Node.js ile geliştirme yapmak isteyen maceracı programcıların bir çoğu, kısa bir süre sonra eski platformlarına geri dönüyorlar.
Kısacası yeni nesil olarak adlandırılan bu platformu test etmek için veya kendinize ait küçük web sitelerinizi yazmak için kullanabilirsiniz. Ancak websocket entegrasyonu için Socket.io dışında, şimdilik gerçek hayatta kullanmak pek mantıklı değil.
Bu kadar parlak bir gelecek vaad ederken, benim şahsi düşüncem şu; ileride Node.js ile programlamaya geçer miyim? Olabilir. Ancak iki beklentim var. Birincisi CoffeeScript ile, Ruby tarzı programlamayı sorunsuzca yapabilmeliyim. İkincisi ise Rails gibi tam donanımlı ve TDD/BDD için aynı kalibrede test ortamı öneren bir "framework" olmalı. Şu an için gördüğüm seçenekler daha çok Codeigniter seviyesini andırıyorlar.
Eğer Node.js kulağınıza hoş geliyorsa yavaş yavaş inceleyebilirsiniz. Ancak yakın gelecekte geçiş yapmak isteyeceğiniz/zorunda kalacağınız bir teknoloji değil.