K
K
kozlovsv2013-04-02 21:10:16
Programming
kozlovsv, 2013-04-02 21:10:16

How to painlessly leave Delphi?

I apologize in advance for the verbosity, I just want to describe the essence of the issue and the problem in more detail.
There is a framework written in Delphi 7 that allows you to quickly develop business applications such as accounting systems, CRM, etc. This framework is an exe file. One for all applications. This file for each specific application loads the BPL (DLL) settings specified in the file. In fact, all business logic regarding each specific project is embedded in the BPL (DLL).
The framework performs the following main functions:
Standard application frame: Main form, Ribbon ribbon, on which buttons are loaded to call specific modules. Each module is designed as a frame and is loaded by the system in the central part of the window in the form of Tabs (Bookmarks).
Organization of the message stack. Each module is independent and does not "know" the existence of other modules. To call a specific module and to exchange information between modules, a messaging service is organized.
Organization of basic CRUD functions (module for viewing a list of data on a table, adding / editing a record, deleting, filtering) (analogous to Django admin panel)
Logging system.
Registry Assistant.
Why we still use this framework:
1. It allows you to quickly create small business applications, accounting systems, data management, CRM systems, without being distracted by the creation of a new main window, application frame. All programming comes down to using standard CRUD blanks or writing your own frame (here we mean the TFrame class). The system takes care of the rest. Due to this, short development time and low cost of the solution.
2. Weak interconnection of modules. This allows you to quickly replace one module with another without worrying about how it will affect the rest of the modules. Since all modules communicate only by messages.
3. Assistants for standard work operations (logging, window about the program, working with the registry, working with the database (connection, connection settings, authorization form)).
Why did you decide to refuse?
1. Own development, poorly documented. New employees have to spend considerable time to understand the nuances of the framework. In addition, the ability to attract freelance programmers is very limited.
2. Delphi 7 IDE is outdated to say the least. Switching to newer versions of the IDE and language will inevitably lead to time spent on translating, adapting and rewriting ready-made code, and problem 1 will not disappear.
3. There are less and less Delphi programmers
4. Well, a number of other purely subjective problems
In general, the question itself. Is there a platform or framework, free or paid, well documented that allows you to painlessly abandon the old junkremnants of the past and start implementing projects on new technologies, without compromising the speed of development?
In general, in the WEB development environment, this is more than excellent. In this regard, for example, the YII framework in PHP or Django in Python completely covers our needs for developing simple accounting systems, all the "chips" of our framework are either implemented or simply not needed in the light of the new platform. But some customers stubbornly demand the creation of desktop applications.

Answer the question

In order to leave comments, you need to log in

8 answer(s)
P
pasha_golub, 2013-04-03
@pasha_golub

I advise you to transfer to the new version of Delphi XE3. Believe me, the devil is not so terrible ... I know what I'm talking about. Rewriting for the sake of rewriting, or for the sake of the fact that the trend has changed, is stupid.

S
spmbt, 2013-04-02
@spmbt

Try looking in pharmacies for pills "from Delphi", ask around on the forums. For so long, there should already be proven solutions that will help.
By the way, about the emulation of desktop applications. Google in its OS promotes the approach, and indeed it is known that the application is created as a web, but with a local server. And it has well-defined rights. The advantage is that it is transferred to the web in 2 accounts if necessary, and the minus can be in the speed of response and rendering.

M
Mikhail Tchervonnko, 2013-09-23
@RusMikle

I do not advise to leave Delphi. Now, at work, I am doing projects in both XE2 and VS Studio 2012 c#. XE 2 is already good enough (I haven’t tried the next ones, but XE5 is already in the yard). If the work on the project is not carried out by a large number of staff, then I don’t see much point in leaving for the same studio (which has more developed tools for collective development and testing). And I don't know anything that can be implemented at the studio in c# that cannot be done in XE2.

N
Nashev, 2013-11-14
@Nashev

The problem of not having a publicly available engine that everyone knows and loves, along with the problem of teaching it, and at the same time, along with the problem of improving and maintaining your engine, can be solved in one bold move:

Open your engine to the community, with sources, on github, and promote it on all corners! I am sure that people will catch up and will study, and develop, and document, and use. If he really is as good as you write.

K
kozlovsv, 2013-04-03
@kozlovsv

Or is the time of the desktop application irretrievably running out? Now it is more promising to develop on the web or on mobile platforms: iOS, Android? Accordingly, there are a lot of frameworks on the web that allow you to speed up the development of applications, and these frameworks are well-known and popular, but for desktop applications there is not much choice.
In principle, there is a Spring framework for Java, even its fork is for .Net. But these are heavyweight frameworks, they will be useful for enterprise-level applications. But to quickly "rivet" accounting systems, CRM. are there any?

V
Vsevolod, 2013-04-04
@sevka_fedoroff

Follow this question: habrahabr.ru/qa/37847/
There, a person is also interested in this

K
kozlovsv, 2013-09-23
@kozlovsv

The problem is that we still have projects in Delphi7. It just so happened. And switching to XE2 or another older version will require quite a bit of effort. As for the implementation of projects, you are right, I have not seen projects that could be implemented in C # but not in Pascal.
But firstly, the popularity of the Pascal language is not so high, and in practice we are faced with a shortage of specialists, at least for the same outsourcing.
Secondly, the structure of the language requires writing quite a lot of extra words, the same degin, end, or declaring variables only at the beginning of the function, or declaring the class structure only in a special section of the module, separate from the implementation. And so many little things. We almost equally use both Delphi and C# now, and in practice it turns out that it is faster to develop software in C#.
And another plus is C #, if the desktop application needs to be expanded with a web version later, then for C # this is not a problem at all, you need to remake the interface on the web, and all the logic will not require major changes. And all this can be extended to ASP.net. With Delphi, such a trick will not work, and you will have to write all the logic in another language or pervert with libraries in Delphi and CGI

L
luis, 2014-06-04
@luis

Migration to new versions of Delphi is not difficult. As well as writing documentation for the framework. By the way, can you share what kind of framework?

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question