Is there a way to develop desktop software using PHP?

I have to develop a real estate marketing CRM software for my client – where the application is installed on desktop but can also be accessed from web.

2 reasons why they want the application to run from desktop :

  1. So that it can work with/without internet connection
  2. They don’t want their complete data to be online

They want to access few of the data like property listing & inquiries (managed from desktop application) from their website through secure login & password.

The data that is entered in desktop application should be automatically synchronized with the website application. I was wondering if there is a way to develop this kind of software using PHP & MySQL. If yes, it will be great if anyone can provide me the referral link.Else please suggest, which language should I use.

4

There is a way, yes, using a binding to a GUI library like PHP/Gtk. But I don’t advise that.

Instead, use a language like C#, VB.Net, Delphi, Lazarus, or Python to create the desktop app. Their support for desktop applications is much more mature. The results will be far better, and you’ll have fewer headaches from the experience. Don’t try to force the square PHP peg into the round desktop hole.

If what you are really asking is if you can create desktop software with web technologies, then yes that is possible. Look at tools such as nwjs (was node-webkit), with which you can create desktop apps using HTML & JavaScript. In such an application, no webserver would be required – though it can certainly talk to a web server on which a PHP app was running if needed.

2

A possibility could be to develop the application as a web application and run your web server on your desktop. In this way you do not need a different technology.

EDIT: there exist portable web server solutions (for example, http://www.server2go-web.de/ or http://portableapps.com/apps/development/xampp), which make this approach work much more smooth.

2

It’s possible, but it’s rarely done. PHP was designed as a language for generating HTML and its functions aren’t helpful in desktop applications.

Things will be easier if you learn another language.

PHP-GTK, PHP-QT, and PHP-Wx exist but don’t have any significant community. Trying to make a deployable app will be difficult.

PHP-GTK is an extension for the PHP programming language that implements language bindings for GTK+. It provides an object-oriented interface to GTK+ classes and functions and greatly simplifies writing client-side cross-platform GUI applications.

http://gtk.php.net/about.php

GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets, GTK+ is suitable for projects ranging from small one-off tools to complete application suites.

http://www.gtk.org/

4

When all you have is a hammer…

In theory, yes. In practice I wouldn’t.

There is a PHP-GTK extension that allows you to build GUI applications on top of PHP (though I’ve never used it).

However, PHP is not intended for building GUI apps and its architecture isn’t conducive to such projects. PHP is built to handle short-lived request/response application models and that’s what it does best.

You should pick tools appropriate to the job you’re doing rather than trying to force a given tool you’re familiar with into a role it’s not made for. The result will never be anywhere near optimal if you do.

There are plenty of other languages that provide the functionality you need to build a CRM application, java, C#, C++ and a whole slew of other tools. They’re also better suited to building GUI applications than PHP is. I’d seriously consider looking at one of those instead.

Here are two possible approaches I would take:

  1. You could try Appcelerator Titanium for Desktop development with PHP.

  2. Alternatively, you could install a local web server, develop the application logic, create a web-service and develop the view logic in something like Java to interface with the web-service.

If you take the second approach, I’d recommend you to use REST as the type of web-service.

Yes its possible php gtk project is no longer active, with the power of php 5.4 there is a better platform called wxphp something based on popular wxWidget, give a try I think you’ll not disappointed

Here’s why:

  • Its build over most popular wxWidget
  • Compatible with Windows, Mac, Linux/Ubuntu GUI platforms
  • wxWidget Always use native GUI
  • wxWidget still under active development

For more about wxWidget visit here wxWidget

0

Nightrain – PHP Desktop Packager might be what you are looking for. Nightrain does not include MySQL but you can install it on the user’s computer or you can just update your application to use SQLite Database. For your these particular requirements switching to SQLite database might be better.

Here’s what you have to do:

  1. Download Nightrain from: http://www.nightrain.naetech.com/
  2. Copy your application to the /www folder
  3. Run the nightrain executable to launch your application, test it out or do whatever adjustments you have to

Sounds kind of crude, but just export your data as a Spreadsheet. And let them play with the spreadsheet on their desktops. You could go mad and have the web server upload a modified spreadsheet and apply any updates to the central DB.

Obviously this is very error prone and clunky, BUT, so is any other offline replication solution. At least the users will be aware of the obvious problems. Any other solution will have the same underlying problems but a slicker interface will give a false sense of security.

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa
Thiết kế website Thiết kế website Thiết kế website Cách kháng tài khoản quảng cáo Mua bán Fanpage Facebook Dịch vụ SEO Tổ chức sinh nhật