可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
There has been some activity in the Web Application Framework area for Delphi (Win32). There are many new projects around, and I would love to see a overview description of their features (code and documentation quality, unit test coverage, ease of installation, minimum Delphi version, security, session management, database access, URL mapping, templating systems, MVC, Ajax, configuration ...).
Frameworks (alphabetically)
回答1:
See ExtPascal, at http://code.google.com/p/extpascal
ExtPascal is an Object Pascal (Delphi, FreePascal/Lazarus) wrapper/binding for Ext JS, a complete GUI Ajax framework, made in JavaScript, for Rich Internet Application (RIA) development.
ExtPascal lets you use Ext JS from Object Pascal commands issued by the server. It brings the structure and strict syntax of the Object Pascal for programming the web browser. ExtPascal will wrap Draw2d into future releases.
Features
- Supports Ext JS 3.2.1.
- High performance with native code for Server side programming, no PHP required.
- Uses FastCGI or CGI for Web Server communication.
- Compatible with any Web Server supporting CGI or FastCGI protocols.
- Statefull, keep-alive and multithread server applications.
- Parses Ext JS HTML documentation to Object Pascal units.
- Self-translates Object Pascal code to JavaScript code during execution.
- Coding in full Object Pascal, minimal use of (X)HTML, CSS and JavaScript, but you must know very well the Ext JS framework.
- AJAX programming using Object Pascal.
- Full wrapper to all Ext JS classes, singletons and widgets.
- Transparent support for all main web browsers: IE 6+, Firefox 1.5+, Safari 3+, Opera 9+ and Chrome 2+ on any client side platform (PCs, SmartPhones, iPhone, PDAs, etc)!
- Server side multi-platform support through FreePascal 2.4.0 compiler. Tested on Windows, Linux and Mac OS X (Intel and PowerPC).
- Thread Garbage Collector for all Ext JS classes and widgets.
- Slim Services and EventLog support for Windows.
- Daemon support for Posix platforms (Linux, Mac OS X, etc).
- Produces small executables and consumes very low memory.
- Direct debugging using Delphi, Lazarus or MSEide debuggers.
- ExtP Toolkit by Phil Hess. Convert your desktop and client/server applications, made in Delphi/Lazarus, to Web 2.
- Embedded Web Server option on Windows or Posix platforms, no Apache or IIS is required.
- Optional Delphi/Lazarus style event handler.
- Compatible with Delphi(7..2010) and FreePascal(2.4.0).
- Integrated CodePress widget with Object Pascal syntax highlighting.
- Pascal enumerations support for Ext JS framework.
- Code completion enabled for all Ext JS elements.
Edition:
Two new options available - not finished at this time, but very interresting for really rich AJAX clients in Delphi code (object pascal code is compiled into javascript, just like with Morphik, but with a lighter design):
Update:
Just found out some great open source project, named p2js which is similar to this two options: it converts .pas to javascript. But it can also work with plain .dfm files, and use SenchaTouch for the UI layer. Demos are impressive.
Also take a look at pas2js which is a brand new Open Source Pascal to JavaScript transpiler, based on FreePascal.
回答2:
uniGUI (unified Graphical User Interface) is a framework for developing AJAX Web Applications in classical WYSIWYG Delphi RAD way. Its unique set of Components breaks the barrier between desktop and Web application.
it's still under beta, but seems actively updated.
回答3:
Have you already heard about Delphi on rails ?
Delphi On Rails is an application/web server based on MVC and REST.
回答4:
You can also evaluate Raudus based on ExtJS framework (same that ExtPascal, commented up).
It's in development and the future license it's not clear. See it and evaluate.
Regards.
回答5:
In a past job, I used webhub (http://www.href.com) with pretty satisfying results.
(large auction app used inside a car dealership organization)
For fairly large jobs where you want to keep some control, I would certainly recommend it.
回答6:
Habari Web Components is a small commercial web application framework for Delphi and Free Pascal (Windows platform).
Habari Web Components is a web application framework for small to medium size HTTP services, based on the popular open source TCP/IP library for Delphi and Free Pascal, Internet Direct (Indy).
(I am the author of this framework)
回答7:
Some time ago I used RTC, which was stable and very fast, the RTC Server-side code can be compiled to a Stand-alone Server and ISAPI Extension
I never used g-framework but looks promising
回答8:
DelphiMVCFramework has been released as Open Source. Check this answer Web MVC framework for Delphi
I'm the main developer
回答9:
Take a look at VCL.JS it’s a brand new environment that use typescript and Delphi component concept.All under visual studio environment.
http://vcljs.com
An example for a component usage :
var qur = new V.TQuery(this) qur.SQL = “Select * from customers”; qur.open(); var inp = V.TDBInput(this,’itm’); inp.DataSet = qur; inp.FieldName = “FirstName”
回答10:
Kitto allows to create Rich Internet Applications based on a data model that can be mapped onto any database. The client-side part uses ExtJS (through the ExtPascal library) to create a fully AJAX application, allowing you to build standard and advanced data-manipulating forms in a fraction of the time.
Kitto is aimed at Delphi developers that need to create web application without delving into the intricacies of HTML, CSS, Javascript or learning to use a particular library such as ExtJS, yet it allows access to the bare metal if required.
Kitto includes a database-agnostic data-access layer, allowing to create applications that work on any database engine and port applications between database engines.
A Kitto application is described in a set of easily maintained YAML files, keeping definitions abstract and declarative and allowing for future extensions. Business rules are enforced either declaratively or through small javascript fragments on the client, or in Delphi code on the server.
回答11:
It is new, just announced: Pashero is extremly fast Web and App Server built using Embarcadero Delphi
Take a look http://www.pashero.com/
Using Pashero http://www.pashero.com/using_pashero.html