Subject Re: [firebird-php] RE: Jumping in the wagon - some HIGH level thoughts...
Author Lester Caine
Myles Wakeham wrote:
> Interesting thread. And it brings back memories for me. But with the majority of questions relating to coding, frameworks, etc. it would seem that there are many missing higher level issues that haven't been discussed here. I would suggest that they are critical for anyone coming from Delphi and developing PHP applicatins, beside how to connect to a data source and frameworks, etc.
>
> Here's a few things on the surface that are vastly different in PHP than in Delphi, particularly for someone who has any existing software development experience in Windows PC applications:
>
> 1. PHP development is designed for a 'hosted' solution. In other words, there is little protection around for your source code other than you controlling the hosting of it. This brings up issues that are much more sensitive with PHP development:
>
> A. Offering hosting of the application for your customers - are you going to do this? If you are going to use a hosting company, can they provide you with the environment that will support the version of PHP you want, web server, Firebird, etc?
We supply the hardware as well and run on secure networks ;)

> B. Source code security - although there are a few encryption products out there that will scramble your PHP source code if you give it to the customer, the jury is out on whether they create an unworkable performance issue, or are truly secure from what I have seen. You have to be comfortable taking on the fact that you may give your customer your source code entirely if you give them the app to host
Not a problem here

> C. Platform - Windows, Linux, Mac? There is clearly a bias suggested by Microsoft that ASP.NET would be the way to go for web development on windows and IIS is therefore assumed.
The last two installation had the option, Linux or Windows. They went with the
Linux server as they getting increasingly annoyed with Windows for server
hardware. Apache/PHP/Firebird will run on either server though.

> D. Web server - Apache or IIS? Apache clearly is the favorite amongst PHP developers, and this also assumes that your web server configuration is under your control as you will need to ensure all the right MODs are installed, etc.
Yep - we are in control.

> E. Browser compatibility - CSS, Javascript and plain ol' HTML has a tendency to increase your testing phases because you will need to test your apps with Mozilla and IE browsers to make sure they do what you intended
That one is the major problem, but with most site finding major problems with
*IE7* on every application, they are not so quick to switch from IE6, and it
only goes to support a dropping of windows on the client end as well. 90% of
the machine done need ANYTHING other than a good browser so why keep switch
versions of windows?

> F. Integration with local PC applications - if you have routinely integrated your software with 3rd party CRM, Financial, MRP, apps or Outlook, etc. then the software isn't running locally on your computer anymore and you'll need to have a strategy for this in mind
Get your application listed as the front end, and everything else has to
integrate into it. Well I'm not there yet, but since the CRM systems are doing
themselves no favours with hikes in annual support, then *I* don't need to
sell the advantages of an Apache/PHP/Firebird package :)

> G. Customer mentality - customers who are sensitive to who has their data have to be 'sold' on giving it up to a hosting company. You will get a lot of objections to overcome regarding your company stability, etc. that wouldn't be as critical when the customer has their own application & data in house.
That actually follows on from F.
Who's is the data, the customer or the CRM company - even when everything is
running in house. Give free access to their own data and they are a lot
happier. And come back for more additions to the system.

> 2. User interface - Yes, AJAX is a step towards a better browser experience, but it isn't a PC Windows GUI by any means. It’s a lot of code, but try and develop a UI intensive application without involving Flash or Flex or something like that and you'll quickly see the limitations
We had proprietary client applications for years, but the customers are more
than happy with the performance of the web based interface - especially when
it does not have to be actually installed on every machine.

> 3. Security - when you open your application up using standard PHP code and frameworks, you open yourself up to security attacks, vulnerabilities, etc. If Apache or PHP has a vulnerability found, you will be affected. If you code in a way that is open to security compromise, you will be affected. Your coding style has to consider security from the start in a much more intense way than Windows GUI development typically does.
Main reason for going for a sourceforge based project.
If problems are spotted we get to hear about them and they can be fixed, but
since currently no customer access is available outside secure networks this
is not currently a problem. It's more of a problem getting *IN* to maintain
the systems :)

> So why do people go ga-ga over PHP? Its because to many users having an 'anytime/anywhere' web solution is worth losing a lot of the functionality of their Windows GUI counterparts, and for software developers they are willing to change their business models to a 'subscription' model rather than a 'buy a license' model and get a smaller but more regular income stream. But please keep in mind what you are giving up and how you will have to change your thinking on many things well before you worry about the code, frameworks, caching, etc. These 'higher level' issues need to be solidified in your mind and you must sign up to this different way of operating & thinking.
That one is not a problem. I never charged for deploying clients, and now the
IT department maintains THOSE for me :)

> I did it years ago. About 50% of our business comes from hosted web applications we developed. And the demand is definitely higher for PHP than traditional Windows app development at the moment. Our apps are HUGE PHP applications - much larger than most you find, which means that we had to take a lot of input over the years and morph it all into our CI framework, etc. But if I had to do it all over again, I'd probably be more comfortable staying with Windows app development to be honest. For our style of business it is a much more manageable way. But that is us. Your mileage will vary.
I still need to loose a windows element of the hardware interface, but having
just moved another site over to the web based build, they are now looking at
further expansions.

> As for Delphi 4 PHP
I only flagged it as an alternative - certainly it's too late for me.

> IT departments really seem to be hyping up using hosted software solutions over local Windows applications. Why? Its less work for them to manage it. But I think you will see a complete 180 degree shift in this coming up. The availability of less expensive terminal server type workstations, more powerful servers with multi-core processing, etc. and products like VMWare, etc. make their lives easier. And all they need is one bad experience with a hosted application company going bankrupt, etc. and they will be in the CFO's office fast telling them they need to be back in control of the applications again. Then you'll either be giving up the source code of your application so they can host them, or your demand for Windows PC development will increase.
The ones I deal with have turned round over the last couple of years. They
realise that their client machines SHOULD NOT HAVE multimedia and other crap,
and a simple browser will work much better when controlling what the users
actually have access to.

> I'm not trying to discourage you from doing PHP development, but coming from a Delphi development background these are typical issues that you need to embrace and come up with a strategy around before you worry about the coding style, frameworks, etc. I believe that you will need to start from these higher level issues first.
Not having been converted TO Delphi ... I came from BCB but the though is the
same.

--
Lester Caine - G8HFL
-----------------------------
Contact - http://home.lsces.co.uk/lsces/wiki/?page=contact
L.S.Caine Electronic Services - http://home.lsces.co.uk
MEDW - http://home.lsces.co.uk/ModelEngineersDigitalWorkshop/
Firebird - http://www.firebirdsql.org/index.php