Bee wrote:
>What framework do you need to build web apps using pascal? Web apps is just
> about read browser request and reply to it. A custom simple communication
> class (to encapsulate the request-reply process) should be sufficient.

Maybe for a web application with a small number of pages/options, sure. But not for larger scale business type web solutions. Here's the problem - there is a distinct distance between doing what is 'right' (ie. developing in Laz/FPC for web apps) and doing what is 'environmentally & economically compatible'. I'm in the USA, and here it is about being able to offer development services competitively on price and time. I've had numerous clients come to me that paid a very small amount of money to have some hack developer write a MS Access solution for their small business, and then they open a 2nd office in another state, or expand the number of users on the application beyond the limits of Access and want to have the application re-developed as a web application. These are typically high data throughput business database applications, with 50+ major data entities, etc.

I've been struggling to find a way to compete in this market with development environments like FPC/Lazarus, simply because although I want do it in those technologies, the lack of tools, frameworks, etc. means that I lose out bidding for those projects against other more established frameworks (ie. ASP.NET developers, PHP, Ruby, etc.). Simple things like session management, cookies, WYSIWYG HTML development, etc all seems to require so much time to establish first before I can start to craft the application, that I'm immediately uncompetitive against others - particularly when the client has the option to offshore outsource the development against a production line 'farm' of developers in other countries.

In order to compete in this environment, I've had to spend years developing my own frameworks for this, and then you get the client wanting to deploy the application. We are (for the most part) a Linux shop here, so we can host their apps for them. But some of the larger clients (ie. corporate, govt, etc.) want to use their own data centers for this, and therefore I have to find a way to deploy on their platforms. There's clearly advantages in Laz/FPC for this part, but convincing the IT managers that your code is ok on their servers when its not written in something they commonly encounter (ie. ASP.NET, PHP, etc.) is an obstacle. They are wary of CGIs because they don't understand what is going on there, and this is yet another obstacle to overcome.

We chose PHP for doing this because it allowed us the maximum deployment options, was compatible with inexpensive shared hosting solutions, and we could adapt frameworks like CodeIgnitier (www.codeigniter.com) to remove/reduce the amount of grind programming work required to develop any web solution.

It does work, and I can be somewhat competitive this way, but it still has its challenges:

1. Code that we produce is 'in the open' and totally able to be copied and hacked by the client regardless of whether they are licensed to do this or not, and

2. Performance is really poor. We built a small FPC native Linux solution for doing multi-million row set processing and found a 25x speed improvement with it doing its work vs. PHP native. There is no doubt that FPC is a better option for the end code here.

The challenge, therefore, is finding a way to do this faster and get around any client objections to the deployment. I've been following this thread intently because I believe there are some solutions in the FPC/Laz world that might just bring this closer to reality.

But being competitive is hard. I have other developers offering coding work at about 50% of the price that we do the work for, and I'm a 25+ year experienced software engineer so you'd think that I could do the work in half the time of a less experienced developer. But the problem is simply that using Visual Studio/ASP is a 'quick & dirty' way to get the job done and many of these clients, particularly small businesses, seem to be willing to accept that since they really have no internal knowledge of software development and rely on the consultants to tell them what is best for them. They ultimately judge the options on price & time to develop. Also in the Microsoft world, often the programming work is done at cost or a loss, but they make their money up on systems maintenance, server licensing, hardware, etc. since it requires such a beast to run the app on, and constant security monitoring, anti-virus, etc. which can be charged to the client on an ongoing basis. I don't agree with this approach since I feel the client should have a single up-front cost for the development and possibly ongoing enhancement/maintenance costs to the app throughout its lifespan. If they want to outsource hosting, sure - I'll charge per month for this like anyone else, but not at the higher level 'managed hosting' fees that I've seen practiced constantly in the Windows server management world.

There is a sense that web development work feels like writing mainframe apps in the early 1980s. Its slower, more cumbersome and you have to feel like there must be a better way to do this. The ability to craft a PC application quickly due to great IDEs, WYSIWYG tools, etc. has enabled development to be done quickly for the desktop environment. I guess we're all just waiting for the day when web development can be done as fast. I feel we are still a long way off, but it does mean that whoever can achieve this will ultimately dominate the web development space. I look back to what it took to write the same application in 1985 in, say, Turbo Pascal, vs. embracing something like Delphi/Laz/FPC today, and its night & day. But despite advances in software engineering practices such as object oriented, design frameworks, etc. writing web apps today is still more like a TP app development project in 1985 than a Delphi desktop windows app in 2010.

I live in hope that tools will improve to get us closer and am monitoring this thread with great interest as I feel that the solutions at this level will likely come out of open source if there are enough devs like me out there dealing with these challenges in our 'real world'.

Myles

--
-----------------------------
Myles Wakeham
Director of Engineering
Tech Solutions USA, Inc.
www.techsolusa.com
Phone +1-480-451-7440


--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to