- Eğer bir GUI uygulaması yapıyorsanız, PHP çok uygun değildir. PySide ile (1) NET / Mono veya (2) Python (QT) düşünün. Aşağıya bakın.
- Eğer büyük bir arka-uç kurumsal uygulama yapıyorsanız, PHP uygun değildir. Ağır takım için daha alışık olduğu C # veya Java gibi yapılandırılmış bir dil gerekir. Burada bir Python veya PHP. Ancak Java ve C # / Mono Windows bağımlı doğanın ağır ön-uç GUI sakının. (Verimli takım programlama kendisi tarafından bir bütün bilim dalıdır.)
However..
In terms of small or medium-sized desktop scripts or engines, with no GUI (ie, automation scripts, etc) then PHP is actually very strong.
Main reason to use PHP for desktop scripting: Training the IT department on the script is half the battle. Unless you are also the IT department (hopefully you aren't), you will find it hard to have this script run on any Windows and Linux computer if you use the common desktop languages like .NET. The libraries and dependencies needed for other languages make them problematic to use across a large set of computers with different operating systems.
Bu temel pratik sebebi. Burada daha fazla / detaylar:
- MySQL ve veritabanları kolay erişim: PHP hızlı veritabanı komut ile harika.
- Vb HTTP, FTP, MD5, web kütüphanelerin bir sürü kolay, taşınabilir erişim
- Şaşırtıcı çapraz platform ve dağıtmak kolay: tüm işletim sistemleri üzerinde çalışacak değil sadece, ama o senaryoyu paketlemek için çok kolaydır. Sık sık Hatta sadece PHP klasörünü kendisi kopyalayabilirsiniz. Why is this critical? o programmers are not IT aklınızda tutun. BT personeli 02:00 ve 2005 yılında yazdığı kodu bir sunucu göç ne olur. NET 2.0, çünkü bazı bağımlılık eksik veya eksik DLL kilitleniyor? Şahsen, bu çok yaygın buldum. PHP daha iyi bir ifade olmadığı için "iyi kapsüllü" olduğunu birkaç langauges biridir.
- Betik konusunda çok hızlı geliştirme zamanı.
- PHP Yürütme hızı yavaştır, ancak veri ton işleme sürece bu pek fark edilir. Script veri çeşit işlemek için günde bir kez çalışıyorsa, kimse C + + yazarak kaydettiğiniz 400ms özleyeceğim. Eğer yıl yazma başına kendi zaman 5 saat kaydedebilir ve PHP kullanarak bu senaryoyu koruyarak ve bu nedenle koduna Yorum eklemek için daha fazla zamanınız varsa henüz, daha iyi imho olduğunu.
- PHP gevşek yazıldığında da,
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
set ve başlatılmamış değişkenleri bulabilirsiniz. Python da gevşek yazdığınız ve birçok kullanım (Dropbox Python yapıldı) ben burada argüman görmüyorum olmasıdır. Bu PHP dilinin daha tutarsızlık var.
- Çoğu harici PHP kütüphaneleri de son derece taşınabilir ve çapraz platform vardır.
- Size yardımcı programcıları bulmak için düşük maliyetli. PHP programcıları bulmak kolay ve işe nispeten düşük maliyetli vardır. Kişisel projeler için ve iş yerinde, hem bu bir fark yok. Işte, ben sık sık PHP otomasyon araçları yapmak için insanların işe ve kendime zaman kurtardım. Bu diğer dillerde daha pahalı olabilir.
Aside from arguments about whether PHP is a good language overall, what
are your criteria for a good desktop programming language (as opposed
to web development)?
Spoiler: Use .NET/Mono (mono is a cross-platform version of the .NET language) and code in MonoDevelop IDE to ensure your app stays cross-platform from day 1. For Mac, often you will need to tweak things since it's a little different, but you can work with .NET using Xamarin Mac (which is based on Mono but allows MacOS interface components):
http://xamarin.com/mac
Mono / C # nedeniyle bağımlılık yükü yeterince yalın değilse, PySide ile Python içine bakmak. Python (Dropbox gibi birçok popüler uygulamalar kullanabilirsiniz rağmen) çok yavaş ise C + + ve (Skype ve diğerleri tarafından kullanılan) QT çerçevesini kullanmak. Ben bile hala varsa Delphi, başka iyi bir seçenek olabilir hatırlıyorum.
Akılda tutulması gereken şeyler:
- % 50 zaman, sonuçta bir hizmet veya komut satırı aracı olarak çalıştırmanız gerekir. Bu durumda eğer çok erken sizin arka ucundan GUI mantığı ayrı. Ayrıca otomatikleştirilmiş test durumlarda yapmanıza olanak sağlar.
- Bu (Notepad + +, Dropbox, Gtalk gibi) bir kitlesel dağıtılan program ise ana şey çapraz-platform bir kullanıcı deneyimi iyidir. Mac ve Windows kullanıcıları ile rahat bir hızlı yükleme uygulaması var mı? Veya uygulaması başlatıyor bir tepeye bir kamyon kadar itme gibi hissedeceksiniz?
- NOT: Çoğu kişi Windows kullanmak bu yana, genellikle sadece C # veya VB.NET kullanın ve bir Windows uygulaması yapmak mantıklı.
- Programlama hızı. Onlar çok uzun sürebilir, çünkü çoğu proje başarısız. Hiçbir kullanıcıları daha mutlu Windows kullanıcıları var ve bu iyi. Gerçek, C # veya VB.NET yarım zaman çoğu insan için çalışan büyük bir uygulama yapalım. Ve Mono ile diğer işletim sistemlerinde liman muhtemelen bunun çoğu yapabilirsiniz. Belki de performans açısından veya genel olarak en iyi en hızlı # 1 değil, ama C + + kodlama çok uzun sürebilir.
- Dağıtım / montajcılar yarısı savaş vardır. Bir uygulama sadece bazı tuhaf kütüphanesi olmadan XP kilitlenmesine gerçekleştirmek için, Win7 64 bit tamamlanmış olacak kaç kez şok olur. Web aksine, sizin app tüm işletim sistemleri ve hizmet paketleri ile çalışır sağlamak gerekir. BÜYÜK AĞRI! İpucu: Eğer taze, Windows yükler kapalı dönmeye izin GoGrid gibi bulut hizmetlerini kullanarak test taze yükler.
Ben iç kullanım ve kütle-dağıtıma yönelik, tüm bu dillerde tam uygulamalar yapmış ve bu 2cents olduğunu.