OK, go easy on me as it's my first question here. ;)
好吧,我的第一个问题是。,)
I am experienced in Web Application development, but I need to design 2 different desktop applications at work. I need advice on what languages to use (I use PHP for Web Applications, I have little other experience), any frameworks that may help me accomplish this easier and any IDEs to use to make my life easier too.
我在Web应用程序开发方面很有经验,但是我需要在工作中设计两个不同的桌面应用程序。我需要关于使用哪种语言的建议(我在Web应用程序中使用PHP,我几乎没有其他经验),任何可能帮助我实现这一目标的框架,以及任何使我的生活更轻松的ide。
My first application will essentially be an interface to an embedded or remote DB and essentially it needs to do not much more than CRUD. A fulltext search function will be necessary as will sorting of the CRUD table too. I'd like to include the possibility of hiding columns of data too, but this isn't a priority. I currently use MySQL, but am happy to use any other DB, as long as they support importing from Excel. Of course, if it supports an excel spreadsheet as the database, fantastic, but wishful thinking...
我的第一个应用程序本质上是一个嵌入式或远程DB的接口,本质上它只需要CRUD。完整的文本搜索功能和CRUD表的排序功能都是必需的。我也想包含隐藏数据列的可能性,但这不是优先级。我目前使用MySQL,但是我很乐意使用任何其他的DB,只要它们支持从Excel导入。当然,如果它支持excel电子表格作为数据库,那就太棒了,但只是一厢情愿……
I only need to support Windows XP upwards, this won't change. Let me know if I can add anything to help answer this.
我只需要支持Windows XP向上,这不会改变。如果我能补充什么来帮助回答这个问题,请告诉我。
My second application is going to be more complicated, I guess. It needs to output the SHA, MD5, CRC-32, CRC-16 signatures for an entire external drive on-screen and/or into a text document of the users choice (new and append). The external drive could be Compact Flash, EEPROM, CD-ROM, DVD-ROM, SD, etc. Whereas I have an idea where to start on the first application, this one is where I need major help as I have no idea which programming language has built-in support for all the algorithms above, or the best way to go about coding it. So any and all advice will be more than welcome.
我想我的第二个应用程序会更加复杂。它需要将整个外部驱动器的SHA、MD5、CRC-32、CRC-16签名输出到屏幕上,或者输出到用户选择的文本文档(new和append)中。外部驱动可以紧凑的Flash,eepm,cd - rom,dvd rom,SD,等等。而我有一个想法从哪里开始在第一个应用程序,这个就是我需要专业的帮助,因为我不知道哪些编程语言内置的支持所有上面的算法中,或最好的方法编码。因此,任何建议都将受到热烈欢迎。
Edit: OK, so I have come across Titanium and am wondering if this is the best option out there for my 2 projects. The first one I am certain I can achieve, but the second project is going to be pretty difficult I believe, as unlike most hash calculators out there, I do not only need to check individual files for SHA/MD5/CRC-32/CRC-16, but I also need to check Compact Flash through a USB-connected Sandisk CF reader and EEPROMs through a COM or USB connection as well. I essentially need to produce the signature/hash for the entire drive, not the files on it. Any advice on this in particular would be helpful, please let me know if I am going too far off-topic by * standards, as I can create a new question with this in.
编辑:好的,我遇到过Titanium,我想知道这是否是我的两个项目的最佳选择。第一个我确信我能实现,但第二个项目将是非常困难的我相信,正如与大多数哈希计算器,我不仅需要检查单个文件沙/ MD5 / crc / CRC-16 32,但我也需要检查CF通过USB-connected Sandisk Compact Flash读者和eepm通过COM或USB连接。我本质上需要为整个驱动器生成签名/散列,而不是在它上面的文件。关于这一点的任何建议都是有帮助的,请让我知道如果我在*的标准下走得太远了,因为我可以用这个创建一个新的问题。
3 个解决方案
#1
3
I'm going to have to say Perl might be a good (though not necessarily the best) option for you, if you aren't one of the PHP developers who are Perl-allergic:
如果您不是对Perl过敏的PHP开发人员,那么我不得不说Perl可能是一个不错的选择(尽管不一定是最好的):
-
Perl is probably easier for a PHP developer to pick up than some statically typed compiled language that typical desktop apps are written in
对于PHP开发人员来说,Perl可能比典型桌面应用程序使用的静态类型编译语言更容易理解
-
Perl has libraries to interface to pretty much ANY database back-end you want, though I'm not 100% sure about using Excel as DB directly (I'm fairly confident something exists in CPAN but can't recommend anything from personal experience).
Perl有许多库可以与您想要的几乎所有数据库后端进行交互,尽管我不能100%肯定直接使用Excel作为DB(我很有信心CPAN中存在某些东西,但我不能推荐任何来自个人经验的东西)。
-
Perl has Windows GUI development - from an easier (for you) web GUI using local/embedded web server to Tk to Win32 GUI modules (* has a couple of questions with very good references on the topic of Perl Windows GUI options).
Perl有Windows GUI开发——从使用本地/嵌入式web服务器的更简单的web GUI到Tk到Win32 GUI模块(*有两个问题,在Perl Windows GUI GUI选项的主题上有很好的参考)。
-
Perl has a fairly complete set of support for MD5/SHA etc... Again CPAN is your friend.
Perl对MD5/SHA等有相当完整的支持。CPAN还是你的朋友。
#2
0
If the only development experience you have is PHP for web, your options for quick desktop development are seriously limited.
如果您仅有的开发经验是用于web的PHP,那么对于快速桌面开发的选择是非常有限的。
since i don't know of any (sane) way to use PHP for desktop apps, my first thought was to reach for a framework that would let you use JavaScript and a mostly declarative UI. That would save you from most of the pain.
由于我不知道在桌面应用程序中使用PHP的任何(理智的)方法,我的第一个想法是找到一个框架,让您可以使用JavaScript和一个主要是声明性的UI。这将使你免受大部分痛苦。
The best one for that would be Qt, which is supposed to let you do almost everything on QML and JavaScript. the unfortunate part is the 'almost'; since anything that escapes that would mean C++ development. The best C++ environment, for sure; but still widely different from Web work (specially PHP web work).
最好的方法是Qt,它可以让您在QML和JavaScript上做几乎所有的事情。不幸的是“几乎”;因为任何转义的东西都意味着c++的开发。当然是最好的c++环境;但是仍然与Web工作(特别是PHP Web工作)有很大的不同。
The other option, which I think would be best for you is Adobe AIR. I haven't really checked it; but it lets you write a 'desktop-like' app using only Flash (with or without the Flex framework) or HTML+JavaScript. When i first saw it seemed pretty much complete. For DB work i think it can use an embedded SQLite library; or access any HTTP service (which could be a local DB+PHP app exposing the CRUD methods)
另一个选择,我认为对你最好的是adobeair。我还没检查过;但它允许你只使用Flash(不管有没有Flex框架)或HTML+JavaScript编写一个类似桌面的应用程序。当我第一次看到它的时候,它看起来几乎是完整的。对于DB工作,我认为它可以使用嵌入式SQLite库;或者访问任何HTTP服务(可以是暴露CRUD方法的本地DB+PHP应用程序)
#3
0
You could try PHP-GTK.
你可以试试PHP-GTK。
It may not be the fastest, but it does work.
它可能不是最快的,但它确实有用。
#1
3
I'm going to have to say Perl might be a good (though not necessarily the best) option for you, if you aren't one of the PHP developers who are Perl-allergic:
如果您不是对Perl过敏的PHP开发人员,那么我不得不说Perl可能是一个不错的选择(尽管不一定是最好的):
-
Perl is probably easier for a PHP developer to pick up than some statically typed compiled language that typical desktop apps are written in
对于PHP开发人员来说,Perl可能比典型桌面应用程序使用的静态类型编译语言更容易理解
-
Perl has libraries to interface to pretty much ANY database back-end you want, though I'm not 100% sure about using Excel as DB directly (I'm fairly confident something exists in CPAN but can't recommend anything from personal experience).
Perl有许多库可以与您想要的几乎所有数据库后端进行交互,尽管我不能100%肯定直接使用Excel作为DB(我很有信心CPAN中存在某些东西,但我不能推荐任何来自个人经验的东西)。
-
Perl has Windows GUI development - from an easier (for you) web GUI using local/embedded web server to Tk to Win32 GUI modules (* has a couple of questions with very good references on the topic of Perl Windows GUI options).
Perl有Windows GUI开发——从使用本地/嵌入式web服务器的更简单的web GUI到Tk到Win32 GUI模块(*有两个问题,在Perl Windows GUI GUI选项的主题上有很好的参考)。
-
Perl has a fairly complete set of support for MD5/SHA etc... Again CPAN is your friend.
Perl对MD5/SHA等有相当完整的支持。CPAN还是你的朋友。
#2
0
If the only development experience you have is PHP for web, your options for quick desktop development are seriously limited.
如果您仅有的开发经验是用于web的PHP,那么对于快速桌面开发的选择是非常有限的。
since i don't know of any (sane) way to use PHP for desktop apps, my first thought was to reach for a framework that would let you use JavaScript and a mostly declarative UI. That would save you from most of the pain.
由于我不知道在桌面应用程序中使用PHP的任何(理智的)方法,我的第一个想法是找到一个框架,让您可以使用JavaScript和一个主要是声明性的UI。这将使你免受大部分痛苦。
The best one for that would be Qt, which is supposed to let you do almost everything on QML and JavaScript. the unfortunate part is the 'almost'; since anything that escapes that would mean C++ development. The best C++ environment, for sure; but still widely different from Web work (specially PHP web work).
最好的方法是Qt,它可以让您在QML和JavaScript上做几乎所有的事情。不幸的是“几乎”;因为任何转义的东西都意味着c++的开发。当然是最好的c++环境;但是仍然与Web工作(特别是PHP Web工作)有很大的不同。
The other option, which I think would be best for you is Adobe AIR. I haven't really checked it; but it lets you write a 'desktop-like' app using only Flash (with or without the Flex framework) or HTML+JavaScript. When i first saw it seemed pretty much complete. For DB work i think it can use an embedded SQLite library; or access any HTTP service (which could be a local DB+PHP app exposing the CRUD methods)
另一个选择,我认为对你最好的是adobeair。我还没检查过;但它允许你只使用Flash(不管有没有Flex框架)或HTML+JavaScript编写一个类似桌面的应用程序。当我第一次看到它的时候,它看起来几乎是完整的。对于DB工作,我认为它可以使用嵌入式SQLite库;或者访问任何HTTP服务(可以是暴露CRUD方法的本地DB+PHP应用程序)
#3
0
You could try PHP-GTK.
你可以试试PHP-GTK。
It may not be the fastest, but it does work.
它可能不是最快的,但它确实有用。