Related
Is there any framework or code generator for data access in Delphi based on layered architecture?
Delphi has already Multi-Tier / Layered architecture available since early versions. You were never limited to RAD components.
DataSnap is certainly the de-facto standard version of building such applications. See e.g. this article from Embarcadero.
Other Service-Based frameworks written on Delphi are available (DataAbstract,
RemObjects, KBMMw, Midware, WST, Synopse, Spring).
ORM framework are a good way of creating multi-tier separated applications (e.g. InstantObjects, DObject, tiOPF, GFramewok, Bold, Synopse, hcOPF, DelphiORM..). Some of them even allow to build Services above ORM. See for instance our Open source framework.
You can have a look at the various Object Persistence Frameworks out on the market. We have been using tiOPF for some years and are very happy with it. Although it has a very steep learning curve.
There are others available as well, like hcOPF
I want to run a Delphi application(With forms vcl, forms, etc) using another application with RemObject Pascal Scripter.
will RemObject Pascal Scripter support all the areas of delphi ,
If so can i include 3rd party VCL
If not what can you recommend me to build interpretable applications with forms and controls
will RemObject Pascal Scripter support all the areas of Delphi
Clearly NO. Haven't used it in a while but "all the areas of delphi" is asking allot. Embarcadero itself isn't setting the bar that high with the "Delphi for Mac". Kylix didn't aim for 100% compatibility either.
can i include 3rd party VCL
Any class can be made available to the scripting engine. But the class itself resides on the compiled Delphi side of things, not on the scripted side.
what can you recommend me to build interpretable applications with forms and controls
Take a look at the "mission statement" for the engine:
"Pascal Script is a widely-used set of components for Delphi that makes it easy to add Pascal-based scripting support to your applications, so that they can extend or control your application with custom scripts"
The author's not positioning it as an scripting engine for application development, but as an engine for extending the functionality of applications. None the less you can probably do a lot with it, it all depends on how you define "interpretable application".
Well, yes and no.
Yes in the sense that you can expose pretty much every aspect of your application to the scripting engine.
No in the sense that "all aspects of Delphi" is too vague a definition to begin with.
I think that what you want is to control, through scripting, some third party control in your form. That is pretty much doable and it can be achieved by using the Unit Importer tool.
Now, there is not much documentation but you can get some useful advice in this SO question.
I have a co-worker with a strong background in Ruby that is interested in getting started with Delphi and native development. However, I understand that Turbo Delphi (based on Delphi 2006) is no longer available for download.
So...where does that leave him? Is there any low cost or introductory version of Delphi available legally somewhere? Or is there an offering on the horizon from Embarcadero?
Note: Please don't suggest any legally questionable versions, as that is not an option we will consider.
UPDATED: To sum up all answers the only legal and free version of Delphi that you can download and install now (unless you already have a personal license for Delphi 7 Personal or Turbo Delphi) is Delphi Community Edition.
And the next closest thing is the Lazarus IDE and the Free-Pascal compiler.
This with this should be close enough. It speaks the language at least.
IMO the Delphi 7 Personal Download is the only available legal "non-expensive" version of Delphi. But is is really limited in its features.
It's really a shame that Embarcadero forces one to invest some USD 900+ even if one wouldn't need all the bells and whistles of the Pro version. Especially if products from the "other company" (the Express versions) are given away for free.
I am talking about the need for the discontinued Turbo product line (based on a stable foundation, i.e. D2010 and not D2006) for the hobby software developer to get him started. Maybe his is even willing to upgrade to a full featured version some day.
Chris
Extracts from "About Lazarus":
So just what is Lazarus?
Lazarus is the class libraries for Free Pascal that emulate Delphi. Free Pascal is a GPL'ed compiler that runs on Linux, Win32, OS/2, 68K and more. Free Pascal is designed to be able to understand and compile Delphi syntax, which is of course OOP. Lazarus is the part of the missing puzzle that will allow you to develop Delphi like programs in all of the above platforms. Unlike Java which strives to be a write once run anywhere, Lazarus and Free Pascal strives for write once compile anywhere. Since the exact same compiler is available on all of the above platforms it means you don't need to do any recoding to produce identical products for different platforms.
Yeah, but what about the GUI? What widget set are you using?
That is the neat part. You decide. Lazarus is being developed to be totally and completely API independent. Once you write your code you just link it against the API widget set of your choice. If you want to use GTK+, great! If you want it to be Gnome compliant, great! As long as the interface code for the widget set you want to use is available you can link to it. If it isn't available, well you can write it.
For example. Let's say you are creating a product on Windows using the standard Windows widgets. Now you want to create a Linux version. First you decide what widget set you want to use. Let's assume you want to use gtk+. So you copy the code over to your Linux development machine, compile, and link against the gtk+ interface unit. That's it. You've now just created a Linux version of the Windows product without any additional coding.
At this point in the development we are using Win32, gtk+, Carbon and QT as our API widget set. As soon as Lazarus reaches a 1.0 release developers will be able to start to create the interface unit to tie the LCL (Lazarus Component Libraries) to other widget sets.
So is this thing really RAD like Delphi?
It sure is. Is it totally completed? No not yet.The over all IDE is complete and can be used for most programming needs. Several aspects
of the project are still in need of help. Hint. Hint.
Can I use my existing Delphi code?
Some of it yes. If the code is standard Delphi pascal and it uses the standard components found in Delphi then the answer is yes. If it uses some specific database, OCX, or DCU then the answer would be no. These items are specific to Windows and would only work on and within Windows. However, if you are only looking to create a Windows product using Free Pascal and Lazarus then the answer would be yes. This hasn't been added to the LCL yet but it should be possible in the future.
Can I create commercial products with this?
Yes. The code for the Free Pascal compiler is licensed under the GPL. This means that it is open source, free, whatever name you want to stick to it. You can modify the code if you wish but you MUST distribute those changes or make them available to others if they wish to use it.
The FCL (Free Pascal Component Libraries) and the LCL (which will eventually become part of the FCL) are licensed under a modified LGPL. In a nut shell this means that you can write your own proprietary software that just links to these libraries. You can sell your application without the need to supply or make available your code. However, as with the compiler if you make modifications to the FCL or LCL you must make those changes available to the general public and the world.
Just for completeness, you can get a 30 day trial: https://downloads.embarcadero.com/free/delphi
Also, I'd suggest going to a Delphi conference. You have about a 1 in 30 chance of winning a free copy or a significant discount.
Embarcadero launched a starter edition of Delphi for $199. Latest version is Delphi 10 Seattle.
As Mohammed pointed out there is a upgrade price of $150, from any other IDE or developer tool product including earlier Delphi products.
Important update:
Don't simply download any Delphi version from a mirror, even when they used to be free, when they are no longer available from Borland/CodeGear/Embarcadero.
According to Alexander's comment and contrary to the quote below, even though they were free, it may not be legal to newly install them now.
I wasn't aware of that when I quoted the answer from the question mentioned. Sorry.
if you however decide to learn Delphi,
you might want to look for Delphi 7
Personal which was removed from
Borland / CodeGear / Embarcadero
websites, but still is available on
some mirror hosters. I believe it is
legal to use this as it was once
published as freeware. – migajek
yesterday
Quoted from a comment on the question Do I need to free these objects?
The same may apply to Turbo Delphi 2006...
Since July of 2018 there is a Free Community Edition of Delphi.
At the moment the Delphi Community Edition supports both VCL and FireMonkey as well as building for Windows, macOS, iOS and Android, and is a feature rich IDE (compared to Turbo Delphi) with a limited license. In terms of features the new Community Edition is much, much, much better than past Starter or Turbo editions.
It's targeted at individual developers or companies with total revenue less than 5000 USD and less than 5 developers in the organization (eg. freelance developers, startups, students, non-profits). Note that the total revenue threshold includes all your projects and contracts, no matter if the Community Edition was used in those projects or not.
The Delphi Community Edition comes with a 1 year license. Once it expires you have to reinstall the Community Edition and accept the new Community license (license terms might have changed by then). In this regard the Community Edition differs from Turbo Delphi, which was kind of "use forever" once installed with a personal license.
As another side note, the Community license does not allow transfering the command line compiler to other machines.
Some quotes from the Delphi Community Edition FAQ:
Community Edition is
both designed to allow individuals and startups to bootstrap their
vision until annual revenues reach $5,000 at which point a
Professional Edition license can be purchased.
If you're an individual you may use Community Edition to create apps
for your own use and apps that you can sell until your revenues reach
$5,000 per year.
If you're a small company or organization without revenue (or up to
$5,000 per year in revenue), you can also use the Community Edition.
Once your company's total revenue reaches US $5,000 per year, or your
team expands to more than 5 developers, you can move up to an
unrestricted commercial license with Professional Edition.
...
You may sell any apps or components developed with the Community Edition under the Community Edition license until your annual revenue exceeds US $5,000 or local currency equivalent. Please see license terms here.
...
Can I sell my apps or components built with the Community Edition?
A Professional, Enterprise or Architect edition license is required for developing or deploying any apps or components within any company with total company revenues exceeding US $5,000 or local currency equivalent.
...
If I work for a company with more than US $5,000 in revenue, can I still download Delphi Community Edition or C++Builder Community Edition for my own personal use?
You can download Delphi Community Edition or C++Builder Community Edition as an individual and use it to develop applications for your personal use and use it to create software for you to sell (up to US $5,000 in revenue, see License Agreement for details).
...
How can I get a new 1 year key after my current CE key expires?
Users will be able to request a new 1 year key through the website. That key will be > applicable to the current CE edition that’s available for download at that time.
We will assist you to stay current and up to date, always on the latest version.
As Marco Cantu said Long live to Delphi!
You might alternatively take a look at free CodeTyphon. It is a powerful one click installation package for cross platform native Delphi like RAD/IDE based on Lazarus/FreePascal. Your friend will start coding just few minutes after download. CodeTyphon already supports 4 CPU/OS hosts (Win32, Win64, Linux32, Linux64), and 16 CPU/OS targets (arm-Wince, arm-Linux, arm-Embedded, arm-gba, arm-nds, i386-Win32, i386-Linux, i386-FreeBSD, i386-Haiku, x86_64-Win64, x86_64-Linux, x86_64-FreeBSD, powerpc-Linux, powerpc64-Linux, sparc-Linux, sparc-Solaris). More are supported in Lazarus/FreePascal, but others are not yet integrated in CodeTyphon.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
Delphi developers has several tools (several alternatives to ASP.NET) for building web applications.
While No.1 framework is Intraweb, there is a lot of interest around ExtJS, that has 2 incarnations:
1) the opensource ExtPascal
2) the closedsource Raudus
Now the products are different, Raudus never supports the latest ExtJS version (while ExtPascal does because as far as I read it "almost automatically updates itself to the latest ExJS version"), Raudus "seems" much RAD (much similar to Intraweb from the RAD point of view).
Anyway why chose one or the other?
Why Raudus (since it is free) cannot become Open Source? Or does Raudus use ExtPascal behind the scenes?
Comment: uniGUI seems at first sight to combine the good part of Raudus (the RAD part) and ExtPascal (being based on extPascal).
Talking about Raudus, I'd be careful! You can download it for free, indeed. I was about to start using it when I realized there's no single word on its usage license. There's no license in fact, or I was unable to find it under "standard" locations (website? no. installer? no. README / LICENSE file? no.)
Thus I'd be careful with using library which doesn't specify it's license. Especially if you're about to start some project which will use it intensely - just imagine what happens when it comes out that you need to pay big amount of money for using it ...
Why use any of them? RAD in the form of Intraweb and tools like it, is not appropriate for web programing. It doens't separate the GUI from bussines logic well. In other words there is no true MVC approach there. Maybe ExtPascal is different here, but the point is elsewhere.
ExtJS is a very well written RAI JS library. It feels almost like putting blocks of code together in a very object oriented way. You can easily build whole GUI with ExtJS without any backend support. This way your whole GUI is in javascript files and no backend is needed. Backend only processes the ajax call and provides data / processes data. This way you have a clear separation of concerns.
This can be easily done without any frameworks. Yes framework would come in handy but it would have to be done in a ASP.NET MVC or Ruby on Rails way. No RAD and no visual designers. New web developers often make those mistakes. But if you program for the web long enough you come to appreciate the separation of GUI and logic and the simplicity of HTML. Web programming is different from desktop programming at least to a degree.
To answer your question. From what I have seen, I like ExtPascal better. It seems a purer web development tool than Raudus. But I admit I have only seen both from the surface and from demo videos, so I cannot judge, only speculate :)
The Raudus developer put up a new blog post in late October and claims, well I'll let you read the snippet for yourself:
"Raudus license is freeware as written in license.txt. You CAN use Raudus in commercial projects. Raudus sources are not available yet."
Edit: There is a license statement at the bottom of the http://www.raudus.com/ page.
"License
Raudus is freeware. You can freely use Raudus for commercial purposes."
As to contacting the author, try this from the same page: E-mail: igor#klopov.com
After using Raudus for a few months I decided to post my own answer.
The framework is improving, Sencha touch support now it is not complete but sufficient to create usable web applications optimized for mobile devices.
RFE, a new front end, not based on Sencha Touch is under developement and in next Raudus release (that should be out soon) there will be a usable preview of the new controls set.
So while ExtPascal seems frozen, Raudus is in progress and promising.
Update: I stopped using Raudus, it dropped ExtJs support and now it ships with own controls, that will never match the beauty and richness of extjs components. I am now going for IW + cgdevtools components that are Jquery UI for IW.
user193655 --> Depending on what you do be carefull with both approaches. I am really a big fan on Delphi or Freepascal/Lazarus - I am not very certain if the approach of bringing 3GL bindings to the Javascript stuff is wise.
MVC - depending on what you do - in PHP you have the Yii Framwork or Prado. Maybe the second has some ideas from .net built in which are very easy to understand by Delphi developers. PRADO is an event driven approach while YII Framework is absolutely cool and unix like.
After using Raudus it seems that it is not practical for large scale of applications.
According to their documentation and I have also sampled, it serializes all client request into single main thread. However it process client request and response generation part in multi-threaded enviornment.
But main thread issue is quite important as it directly impact the response time if one action is taking more time in the main thread, others will keep waiting.
Any suggestions to resolve this issue?
Raudus:
Relies upon Delphi, in which:
Is verbose;
Relies upon Microsoft Windows;
High-cost to adapt to or to maintain;
Quote from raudus.com: "Raudus is freeware. You can freely use Raudus for commercial purposes. Raudus sources are not available yet." — This, to me, will be never a license. On the homepage, simply there is no documentation about Terms of Service or something like that. Hence I won't deal with their services.
I have done a search on Google for applications writen with Datasnap and didn't find much information.
What well know applications are written in Datasnap 2009 / 2010 ?
Is using Datasnap 2010 a viable choice compared to using other frameworks like RemObjects, Midware or kbmMW.
Cheers
AJ
I think the applications written with datasnap will be mainly custom build applications and therefore not listed on any public website. At least all projects I have worked on that used datasnap were custom build applications.