Neden insanlar masaüstü uygulamaları için PHP kullanmak değil mi?

24 Cevap php

Python ve Ruby gibi popüler web üzerinde diğer betik dilleri, masaüstü uygulamalarında kullanılmaktadır. (Hiç) bir masaüstünde dağıtılmak üzere tasarlanmış bir PHP uygulama görülür Ancak, ben nadiren ettik. Neden bu? Ne PHP hakkında ne onları çift kullanım için popüler bu diğer diller hakkında yapmak, bu onu geri tutan, ya da?

24 Cevap

Sık sık ben aynı şeyi merak ediyorum ve işi yapmak için araçlar için etrafa başlar. Ben araçları çok olgun olmadığını fark kısa bir süre sonra. Ya da en azından neden var yok araçları olgunlaştığını değil - Öyleyse hiç kimse herhangi bir alet yazmıştır merak etmeye başlar.

Bence tek şey Python ve Ruby Nesne Tabanlı olma eğiliminde veya tamamen (sizden kim bağlı olarak) yönelimli nesne oysa PHP prosedürel dil olarak hayatına başlamış olmasıdır. Şahsen ben Nesne Tabanlı dil GUI programlama için daha iyi bir uyum olduğunu düşünüyorum. PHP PHP 5 OOP aleme taşır ve özellikle PHP 6 gibi masaüstü ortamları ile entegre için daha iyi araçlar görmek için gidiyoruz düşünüyorum.

O da, sadece bir tahmin.

By the way, whenever I look for tools I come across this one: WinBinder

Olsa, bunu denemedim.

PHP dinamik web siteleri bile, özgün ve birincil amaç oluşturmak için yeterince kötü çünkü. Birkaç yanlış ruhlar gibi PHP-GTK gibi projeler üzerinde çalışmak, ama orada güzel dilde onlarca varken, neden herkes çalışmak için PHP seçsin?

PHP-Qt Orada da

PHP kapsamlı web uygulaması geliştirme yapmış biri olarak, ben kimse ben kendi sınırlamaları içinde sinir bozucu bulmak bir dilde masaüstü uygulamalar yapmak isterim merak ediyorum. Noktasına çabaları bu tür benzer-yeterli sözdizimi sahip Java ve C # gibi (ama nesne erişim için bu rahatsız edici oklar olmadan) dilleri vardır masaüstü geliştirme için dilin sözdizimi ve yapmak çok daha olgun API'ler olacağını neden ben de merak ediyorum masaüstünde duygusu.

PHP ile bir masaüstü uygulaması yapamazsınız kesinlikle hiçbir neden yok. PHP'nin asıl hedefi (burada bazı yorumlar çok iyi, aksine yapar) web uygulamaları oldu. PHP 5.3 masaya olgun bir çok özellik getirdi. Zaman geçtikçe bu yüzden gibi, PHP bu ve diğer bazı dilleri arasındaki boşlukları dolduruyor. İnsanlar bunu sevmiyorum. Bu yüzden PHP herhangi bir iyi olmadığını söylüyorlar. Onlar da yapıyor gelişmeler bilmiyorum. Onlar bazı korkunç betik dili bulunuyor "düşünüyorum" çünkü sadece onun popülerlik ve kullanım artış görmek ve rahatsız olsun.

Flaş haber: PHP aslında iyi IS. Bu, tamamen nesne ad alanları ile aydınlatmaktadır. Bu şimdi de kapanışları ve lambdas var.

PHP-GTK PHP ile masaüstü uygulamaları yapalım şeydir. Birkaç diğerleri (Ben her şeyi burada zaten söz edilmiştir düşünmek) de var.

Ben eklemek istedim hepsi ben size rahat dil eğer PHP kullanmak vazgeçmek ya da değil ki oldu. PHP çoğu diğer diller yok ki koskocaman bir yararı vardır. Orada açık kaynak kodu bir TON basitçe var. O daha hızlı geliştirmek ve sadece işi yardımcı olacak var bir sürü şey var. Bu değeri hafife almayın. Eğer gerçekten masaüstü uygulaması süper hızlı olması gerekiyor? Ne inşa etmeye çalışıyoruz? Tüm bağlıdır.

Hiç kimse bir şey inşa etmek çalışıyoruz bilmeden iş için yanlış araç olduğunu size söyleyeyim vermeyin.

Aslında php masaüstü uygulamalar yapma keyfini, bir Entegre Geliştirme Ortamı (IDE) çalıştığını anlamda basit ama hiçbir entegre bulunuyor.

Php-gtk olarak iki farklı yerde GUI ve Kodunu yapmak, bu GUI ve (her geliştirici gibi beklendiği gibi) Uygulama ayırmak için seven birisi için iyi olduğunu, ancak işaret seviyor ve birisi için kötü tıklatın.

Being PHP masaüstü uygulamaları için özel değildir ve temel uygulama ötesinde acı edeceğiz, dedi.

Şu anda masaüstü uygulamalar için daha iyi bir multi-plataform geliştirme paketi (PHP hala web kıçını tekmelemek) olarak MonoDevelop çalıştırmak isteyen.

Ben söylemeliyim, bir PHP Geliştirici olmak, yukarıda bazı yorumlar şaşırıyorum: Evet PHP Kötü tasarlanmış olabilir ama EVET, aynı zamanda öğrenmek çok kolaydır: PHP hala yeniler tarafından manipüle edilebilir ve bir çok, çok basit bir dildir Henüz onlar için hiçbir koruma sağlamak ANCAK bir uzmanın elinde PHP mükemmel olduğunu onlara istediklerini vermek, PHP sözde kusurları İyi Kodlama ile önlenebilir - Fark Ben Wapache kullanımı ve ben son zamanlarda C Wapache benzer şeyler yazdı ama Bu Mozilla Gecko motoru kullanmasıdır.

? Şimdi PHP Serin değil neden söyle bana, bir hesap app Diyelim -? Yerine KULLANIM VB veya C PHP neden kullanmaz, esneklik, Ajax fonksiyonları ve diğer web sunar özellikleri düşünün ...

Şu anda Wapache ve NuSphere PHP benzer * PHP Masaüstü uygulaması yazıyorum - - Ben şahsen PHP Masaüstü uygulamalar için daha fazla kullanılması gerektiğini düşünüyorum ücretsiz olarak sunulacak ve ben çok C fonksiyonları gibi liman için çalışacağım i işlevleri ve sınıfları özelleştirmek için çok basit ve kolay PHP olabildiğince.

ve YES: geçerli PHP-MASA uygulamaları sitelerinde dokümanlar EMMEK yapmak ama onları suçlamıyorum ....

Diğer betik dilleri ile karşılaştırıldığında, PHP web için bir niş aracı daha fazladır. Sadece hemen her şeyi web geliştirme orada hedeflenen, PHP standart kütüphanede bakmak.

PHP korkunç bellek kullanımı vardır. Masaüstü uygulamaları bir web sitesi yüklemek için en az 1 saniye sürebilir saat / gün, açık olabilir. Bellek sızıntıları PHP Desktop uygulaması engelleyici yapar.

Şu anda PHP ile GUI uygulaması oluşturmak için araçlar oldukça olgunlaşmamış ve belgeler olması gerektiği kadar iyi değildir. Ayrıca insanlar belki araçları ve belgeleri hiç PHP ile php.net site masaüstü uygulamaları dahil eğer daha popüler hale gelebilir, PHP ile masaüstü uygulamalar yapabileceğiniz bilmiyor olabilir.

Ben bir PHP adam değilim; ama bir masaüstü kütüphane ve / veya bir tasarımcı (örneğin Win) eksikliği eksikliği hayal.

PHP aslında does bu şeyler varsa, ben hiçbir fikrim yok unutmayın; Ben sadece bu yüzden varsayarak yaşıyorum ...

PHP Python ya da Ruby gibi iyi değil. PHP bir kötü tasarlanmış bir dildir. Bu iyi yapmak için zemin sıfır toplam revizyon ihtiyacı vardır.

Facebook bu deneyimli biridir. Onlar c / c + + Hiphop kullanarak kendi php kod tabanını dönüştürmek zorunda kalıyor.

Sonunda PHP orada alacak, Zend (PHP arkasındaki şirket) ne yazık ki masaüstü uygulamaları için uygun bir PHP henüz alıntı sunmaya herhangi bir odak koymak değil düşünüyorum. Belki de bu yüzden ileride ele alacağız şeydir.

Sudo-masaüstü PHP uygulamaları geliştirmek için bir yolu Adobe AIR kullanarak geliştirmektir. Adobe AIR birini kullanarak PHP tabanlı web uygulamaları için JavaScript / HTML / CSS ön uçları oluşturabilirsiniz. Bu ön biter gibi dosya erişimi, off-line depolama ve daha fazlası gibi masaüstü bilgisayar, üzerinde daha fazla kontrol ve sistem kaynaklarına erişimi vardır. AIR ve PHP birleştiren Mac OS X, Windows ve Linux üzerinde çalışan çapraz-platform uygulaması için iyi bir uyum gibi görünüyor.

PHP-GTK ne yazık ki, Mac OS X üzerinde desteklenmiyor, böylece PHP sadece Linux ve Windows platformlarında orada sıkışmış olacaktır apps.

Belki Zend gelecekte PHP ile web'de sadece duruşu yeniden gözden geçirecek.

AFAIK, PHP hala gerçek bir çöp toplayıcısı yoksun - (. Bugüne kadar Java ve Net o kadar sofistike olmasa da) bu, örneğin, iyi bir GC var Python, farklıdır. Bir GC olmadan, herhangi bir ciddi bir masaüstü uygulaması yazıyorum sadece tamamen düşünülemez.

Ben bir kaç yıl önce Facebook ölçeklendirme ile ilgili bir sunum gördüm ve onlar bahsedilen şeylerden biri PHP bellek sızıntıları bir dizi sahip oldu. Onlar ile bir FTP daemon yazdıktan sonra keşfetti. Sen çünkü LAMP sitelerinde payı hiçbir mimari her gün web uygulama ayarlarında bu görmezsiniz. Bir byte kod önbelleğe alma uzantısını kullanmak sürece Temelde, her şey başka bir istek atılır. Bu byte kod ve daha önce son isteği sırasında tahsis edilen herhangi bir belleğe script gerçek derleme içerir. Bu da zor bir zaman önemli miktarda tipik hayatta masaüstü uygulamalar yazma yapar düşünün.

Bir prebundled webkit tarayıcı ve Appcelerator de PHP / Ruby / Python / JavaScript / JQuery göz kullanarak masaüstü uygulamalar dağıtmak için. Bu PHP tabanlı DOM manipülasyon, API'leri yükleri (inc konum belirleme) ve çapraz platform dağıtım (Win, Mac, Linux, iPhone, Android) destekler. Iman görülmesi gerekir.

Bütün bu geribildirim okuma yararlı olabilir bir şey, hafif bir sunucu (yani Wapache: http://wapache.sourceforge.net/) ile paketlenmiş olarak bir Webkit özel bir sürümü veya Gecko temel HTML ayrıştırıcı / tarayıcı, beni düşündürdü ve veritabanı (yani SQLLite veya portları ile CouchDB) sadece güvenlik kaygılarını hafifletmek için yerel trafiğe açıldı sadece ...

Bu bir gerçeklik daha çok çapraz platform PHP masaüstü uygulamaları bina yapacak. Sadece bu değil, web paradigmaya daha rahat PHP geliştiricileri çok mevcut programlama bilgilerini güncellemek (hiç değilse) ya da büyük ölçüde kendi stilini ayarlamak olmazdı.

Şimdilik, PHP-GTK iyi bir girişim ama belki de ya da başka bir grup her işletim sistemi içine kapatmaya çalışırken daha başka alternatifler düşünebiliriz.

Sabit PHP çok eleştiri var inanmak için. Bu web sayfalarında dinamizm katmak için geliştirilmiştir. Tabii bu oldukça iyi yapar. Ve hemen hemen her DBMS konuşuyor. Ve nispeten kolayca öğrenilebilir.

Ayrıca, küçük ve orta ölçekli işletmeler tarafından ve büyük BT mağazaları bazıları tarafından bazı durumlarda yaygın olarak kullanılır.

PHP programcıları hiçbir sorun işleri almak var, dili her yeni sürüm ile daha gelişmiş olur. Yani, web-tabanlı, veri tabanlı uygulamaları geliştirmek için bir dil olarak, PHP, bence oldukça iyi yaptı.

Bildiğim kadarıyla masaüstü uygulamaları oluşturmak için kullanarak, ben seçenek istiyorum. WinBinder Tamam görünüyor. Ben zor PHP-GTK hakkında heyecanlanmak için bulmak ve PHP ile masaüstü uygulamaları geliştirme hakkında Zend Developer Zone konuşuyor.

@ Giovanni Galbo: Ben bu kadar emin değilim. Görünüşe göre, grafiksel masaüstü uygulamaları yapmak için PHP kullanabilirsiniz. Ben sadece Vikipedi öğrendim.

Hmmmm ... rakam gidin: PHP-GTK. Ben PHP masaüstü uygulamalar için bazı kütüphane / tasarımcı desteği var sanırım. Ben İkinci adım bu araçları nasıl olgun görmek olacaktır sanırım.

Php hakkında iyi şeylerden biri masaüstü uygulamaları yazmak için gelirken, platform bağımsızlığı, problem düştü ya da karşı karşıya whichwould olduğunu. Yani bir şeyler ertain (veya benzeri çerçeveler GTK) ile sınırlı olacaktır, o zaman belirli bir platformu alacağını ve daha sonra orada will daha iyi bir seçim olabilir.

php masaüstü uygulamaları için, ben sadece klasik bir GUI masaüstü Look'n'feel eski kavramını damla olur.

uygulamaya bağlı olarak, bir sürü küçük bir yerel sunucu ve sqlite (veya benzeri) veritabanı erişimi ile localhost tarayıcı üzerinde çalışan bir 'dinamik web sayfası' (php / html / js) ile elde edilebilir ...

herkes seviyor, ve şu anda jquery veya ExtJS gibi kütüphanelerini kullanarak bir tarayıcı üzerinde elde edilebilir harika şeyler, alışıktır.

Ayrıca sqlite veri şifreli olabilir gibi ileri, kod, ioncube gibi şeyler ile şifreli / korunabilir.

şey, ve ben bir ses çözüm bulamadık, otomatik olarak herhangi biliyorum masaüstü webapp kimseye içeri çalıştırmak için yerel bir sunucu ve bir tarayıcı başlattı (windows demek) ikili, gibi uygulama paket nasıl? lütfen söyle.

Tarayıcının daha fazla ve daha derin kontrol arzu, ama ben biliyorum ne ulaşılabilir olmayacaktır.

(oklar ile ilgili olanlar gibi) php sözdizimi hakkında iddialar, sadece çok sığ ve kabul edilmemelidir ... php çok iyi çerçeveler ile büyük bir dildir, çok uysal, hızlı öğrenme eğrisi / geliştirme, olduğunu ve mevcut diva dinamik web sayfalarını ...

I have been developing PHP desktop applications using Winbinder. its very easy and straight forwared. its pure php and way easier than PHP-GTK. but the problem with this tool. it has very tiny community and few developers. nobody is supporting it and the project might be died after a while.

Onun onun bilinmeyen araç ve ünlü değil ve insanlar cehennem winbinder ne olduğunu bilmiyorum çünkü ...

Sıkıştırılmış sonra, WinBinder + GreenBrowser, Wapache çok daha küçüktür sadece 2MB olduğunu.

Şahsen, ben PHP en kullanımları vardır olurken, özellikle akılda masaüstü ortamı ile tasarlanmış bileşenlerine sahip pek çok diğer DAHA dil sadece var olduğuna inanıyoruz. Örneğin Java atın, orada en sofistike ve İYİ çöp toplayıcı / JIT derleyicisi tarak birine sahiptir.

Hız açısından, Java ile yazılmış bir program performansının belirli alanlarda benzer bir C / C + + uygulama rakip olabilir. Gerek (olması halinde, bu kısmen C + + nesneleri en kısa sürede bir daha müsait bir zamanda ya da başka bir iş parçacığı GC tarafından silinebilir Java aksine onlar kapsam dışına gitmek gibi bileşenlerini silmek eğiliminde olduğu gerçeği olduğunu ve kısmen JITC) özel ortamlar için optimize iyidir çünkü. CLR dilleri, Java gibi olgun değil, aynı zamanda benzer eğilimler gösterirken.

Masaüstü ortamında PHP için daha iyi bir alternatif (özellikle bir masaüstü uygulaması kod tek sağlayıcısı olarak bunu önermiyoruz rağmen) Python da olurdu. Aslında, ben ile arabirim ile (genellikle C + +) ile bir yerel tabanı var çapraz dil uygulamaları (yanı LUA gibi) sık kullanılan gördük.

Şimdi, PHP bazı alternatifler verdik, bana bir masaüstü uygulamaları geliştirmek için PHP kullanmak istemem birkaç nedeni verelim.

  • Birincisi ve en önemlisi, bellek yeni doğmuş gibi PHP sızıntıları gelince.
  • Second, it's garbage collector isn't really that fantastic and in fact, it kind of sucks when compared to the alternatives.
  • Third, there is no standard "PHP GUI/Desktop SDK/Library" and even if they developed one in the near future, it wouldn't be nearly as mature (in terms of the library content as well as in terms of community use) as some of the alternatives out there. You can take Java for an example. It's GUI library used to suck big time and it took quite a while for it to mature to a point where one could reasonably develop desktop GUI's that didn't look like utter crap.

Heck, hatta Adobe Air masaüstü uygulamaları geliştirmek için daha iyi olacağını ve şimdiye kadar (yani sürekli gördüğüm en kötü performans ve istikrar konularında bazı vardır: uyku bilgisayarı dönerken düğmelerini tıklatın çalışırken yanıt ve çökmesini değil, çökmesini GUI, kabul edilemez yüksek CPU çekirdek ve bellek kullanımı, vb)

Benim nihai soru: Neden daha fazla masaüstü ortamı için uygun alternatifler varken PHP kullanmak isteyeyim? Aslında, benim görüşüme göre, (bence yine insanlar) tamamen PHP daha iyi alternatifler hatta web geliştirme alanında olduğunu düşünüyorum.

Şimdi, C + + sevgi ve belki de nesne yönelimli / C + + stili dillerine yönelik beni önyargılı yapar ama ne olursa olsun, ben bu konuda benim iki sent durmak.