D
democratix
Hi,
I've only got a couple years experience developing for Access but have
recently been experimenting with HTML/javascript for gui and
client-side scripting, mysql for database and php for server-side
scripting. I've been running it all on the development machine until
the application I'm building is advanced enough to start
optimising/testing with network lag in mind. So it's no slower, and in
some ways at least it seems faster.
Has anyone had much experience with both? If so, what are your
relative opinions of the two packages if used for the same purposes? I
haven't made up my mind as to convenience overall since the web-based
app hasn't been deployed to any users yet (although I can imagine that
will be simpler, since people just need to connect to an ip address),
but a few advantages I have noticed in developing it include:
- Less confusion due to separation of components.
While I thought it might make things more complicated, it seems clear
after using it that php is built more than anything to easily sit on
an apache server, talking to a mysql database and spitting out html to
a web browser. That makes sense I guess since php is made only by its
users and that's what most people seem to use it for. The actual
advantage to separating the components is you know where the problem
is. If you get an error in the javascript console, it's a javascript
error, if it's in the browser it's php, unless it's in the database,
in which case it says it's a mysql error. Given how unintuitive
error-messages often are for any programming tools, knowing where to
start at least, is nice.
Besides debugging myself, it also makes it easier to find posts on the
net from other people who have had the same problem. Which brings me
to...
- Developer discussions on the internet include more people with
access to the source code.
So bugs or problems in the tools themselves often prove less obscure,
if they haven't already been fixed. I've never personally inspected
the source code of any of the programming tools I use unless I've
written them myself, but when you go on the net looking for fixes or
workarounds, a lot of people have. This could be my psychological bias
towards the ideals of open-source software, but it does seem that
mysterious quirks which, even when you fix them, make no sense; are
less common.
- Less risk of future incompatibility.
Web browsers, to take one obvious example, seem to be more compatible
with things written for older versions of themselves, than microsoft
access is. Sometimes the automatic upgrade of your mdb will work, but
often you need to make a lot of code changes to support a newer (or
older) version of access, and in the worst case it's much easier to
have two web browsers running on your machine if you need, than it is
to have two versions of Access.
Maybe there are more advantages. As for disadvantages I thought I
would miss the form designer, and in some ways I still do, but
html/js/php are very versatile, and in the process of learning how to
use these things better I've made a rudimentary gui designer and some
templating functions, which allow fairly easy manipulation and reuse
of gui components.
Another fear I had was the lack of functionality, especially since
html has a much smaller widget set than access forms (although I guess
it's always possible to use xul instead and then distribute firefox to
all the users), but that problem seems much smaller now, especially as
I learn more about javascript's abilities. There are definitely some
things html/js/php can do which access forms and vba can't (or not as
easily), some of which seem useful, but as to what practical
importance all these differences will make, that remains to be seen.
Oh and also there are a lot more easily accessible examples of
creative/clever ways of using this combination of tools since it's
what many (most?) web developers use, so you can just look at a bunch
of websites to get ideas for how to best achieve what you want.
Comments?
I've only got a couple years experience developing for Access but have
recently been experimenting with HTML/javascript for gui and
client-side scripting, mysql for database and php for server-side
scripting. I've been running it all on the development machine until
the application I'm building is advanced enough to start
optimising/testing with network lag in mind. So it's no slower, and in
some ways at least it seems faster.
Has anyone had much experience with both? If so, what are your
relative opinions of the two packages if used for the same purposes? I
haven't made up my mind as to convenience overall since the web-based
app hasn't been deployed to any users yet (although I can imagine that
will be simpler, since people just need to connect to an ip address),
but a few advantages I have noticed in developing it include:
- Less confusion due to separation of components.
While I thought it might make things more complicated, it seems clear
after using it that php is built more than anything to easily sit on
an apache server, talking to a mysql database and spitting out html to
a web browser. That makes sense I guess since php is made only by its
users and that's what most people seem to use it for. The actual
advantage to separating the components is you know where the problem
is. If you get an error in the javascript console, it's a javascript
error, if it's in the browser it's php, unless it's in the database,
in which case it says it's a mysql error. Given how unintuitive
error-messages often are for any programming tools, knowing where to
start at least, is nice.
Besides debugging myself, it also makes it easier to find posts on the
net from other people who have had the same problem. Which brings me
to...
- Developer discussions on the internet include more people with
access to the source code.
So bugs or problems in the tools themselves often prove less obscure,
if they haven't already been fixed. I've never personally inspected
the source code of any of the programming tools I use unless I've
written them myself, but when you go on the net looking for fixes or
workarounds, a lot of people have. This could be my psychological bias
towards the ideals of open-source software, but it does seem that
mysterious quirks which, even when you fix them, make no sense; are
less common.
- Less risk of future incompatibility.
Web browsers, to take one obvious example, seem to be more compatible
with things written for older versions of themselves, than microsoft
access is. Sometimes the automatic upgrade of your mdb will work, but
often you need to make a lot of code changes to support a newer (or
older) version of access, and in the worst case it's much easier to
have two web browsers running on your machine if you need, than it is
to have two versions of Access.
Maybe there are more advantages. As for disadvantages I thought I
would miss the form designer, and in some ways I still do, but
html/js/php are very versatile, and in the process of learning how to
use these things better I've made a rudimentary gui designer and some
templating functions, which allow fairly easy manipulation and reuse
of gui components.
Another fear I had was the lack of functionality, especially since
html has a much smaller widget set than access forms (although I guess
it's always possible to use xul instead and then distribute firefox to
all the users), but that problem seems much smaller now, especially as
I learn more about javascript's abilities. There are definitely some
things html/js/php can do which access forms and vba can't (or not as
easily), some of which seem useful, but as to what practical
importance all these differences will make, that remains to be seen.
Oh and also there are a lot more easily accessible examples of
creative/clever ways of using this combination of tools since it's
what many (most?) web developers use, so you can just look at a bunch
of websites to get ideas for how to best achieve what you want.
Comments?