|
Hello, WARNING: Big mail, bad English. 0.
Introduction 1.
Licensing 2.
UML <-> Actionscript Code 3.
ASWing and XML (or visual
creation of forms) 4.
The future with Actionscript 3 5.
Server side language 6.
Server side 2-tier development
and design patterns justified on PHP? 7.
XML Driven Databases 8.
MovieClipLoader sucks 0.
Introduction ----------------------------------------------------------------- This is new... a mail with an index! :P
When I’ve finished writing this, and realized it’s size, I
was in doubt if I should send one mail for each subject, or create an index.
The second was chosen… I hope you have courage to read the full mail, I
am sorry for such a big mail. If you prefer I can send one mail for each
subject . I’m insisting on sending this, because some of my questions are
for sure delicate matters to some other people too :o) So, after two months working on the
prototype of the application I’ve referred on my previous mail (www.castingoffice.net u: osflash p:
test), a lot of conclusions are to be taken, and questions to be made. Most of these questions are concerning the
development of big and robust web applications. I think that it is time to try
to bring desktop applications to the web (yes, I’m a bit late :P), and
actionscript seems to be the present best (but not perfect) language to achieve
it, with it’s limitations of course. But with the big advantage of
reducing costs and efforts on client installation, configuration and
maintenance, since the “application” is installed and configured on
one computer (a simple web server), accessible via a web browser. I am not talking about
“simple” web-applications, but applications similar to their
desktop equivalent. It seems that nowadays people seems to mix “sites”
with some functionalities with “applications”. Or maybe the
“site” term is not used anymore, when it involves
programming…? K Well, nothing of this is new to
OsFlasher’s. :o) If I could go back in time, I would make
CastingOffice’s code very different, with the experience gained these two
months. Now, i’ll just improve some things, deliver the prototype to the
faculty on 1st July (and finish it later, on October), and start a
new project on 2nd July, also using the same technologies, workflow
and methodologies. But first, there are some important questions opened. So,
here it goes: 1.
Licensing ----------------------------------------------------------------- As students, me and my colleagues never
gave much importance to licensing K. Let’s face it, here in Portugal,
and in great part of the world, people are not educated to follow licenses
– except when it refers to “software in a box”, of course. I
am now finishing my graduation, so I won’t be a student no more, and if
everything works fine, I’ll be producing commercial products for living.
But I know nothing about licensing. Thinking on it, I don’t remember
nothing being taught on faculty about licenses!. I’ve followed the recent discussion
on OsFlash ML (“MPL/GPL and SWF”), and became worried about this
subject. If I pretend to commercially distribute CastingOffice, I should worry
about what? I’ve used MTASC, AMFPHP, Eclipse+ASDT+ANT+AnyEdit, ASWING,
ARP+Extensions(Grant and Herreman), PHPThumb, PHP and MySQL. Is there anything
I should know before selling the application (if the opportunity occurs)? 2.
UML <-> Actionscript code ----------------------------------------------------------------- Not a question, but just a subject
I’ve already referred on the ML: there is lack of a tool, or preferable,
an Eclipse plugin that permits code generation AND live bidirectional
synchronization with UML and Actionscript. Doxygen was referred, and POJO
generation from actionscript too, but does this (will) allow code with UML
sync? I think this is essential to mature and
robust application team development. I’ve used it with JAVA, and after
getting used to it I’ve felt that yes, programmer’s life can be
beautiful! Without this kind of feature it will be way too difficult to develop
well structured big applications using Actionscript on an agile team
development environment. Does it justifies the effort of developing something
on this, considering that AS2 will soon be “replaced” with AS3? 3.
ASWing and XML (or visual
creation of forms) ----------------------------------------------------------------- ASWing is without doubt GREAT and BEAUTIFUL
(iiley, you rule!). But it would be better if it was possible to create ASWing
GUI’s with XML, or even better, if it was possible to visually place
elements on visual forms, generating XML files that would be interpreted by
actionscript. I’ve seen that Simon Wacker has done a great job on
creating a XML dialect for Flash user interfaces, and this is already a big
step. But more work and documentation has to be done on this area to stop user
interface design from being a big pain in the ars*. Other thing that should be
taken in consideration is the need for more examples and documentation on LAF
on ASWing. But, let me say it again, ASWing is
Beautiful! :D 4.
The future with Actionscript 3 ----------------------------------------------------------------- Actionscript 3 is already breathing….
and sooner or later Flash 9 will be born (April 2007, I guess). MTASC
will not compile AS3. What will happen then? Back to old, ugly and slow Flash
IDE (without offense, dear Macr… Adobe :o) )? Maybe Haxe? Maybe Flex 2?
Haxe seems to be great, and very well done.
But there are some things that makes me want to wait before developing on haxe:
general public adoption, success cases, the problem that it would be necessary
to teach this new language to each person that would want to join me in the
future, the current tools developed that would need to be ported… I know almost nothing about Flex 2. But I
know it involves money. A lot of money… And money is something I
don’t have, faculty has sucked my and my parent’s pockets till the
last drop!. Do you think that the investment that needs to be made to acquire,
learn, develop, and deploy Flex 2 applications is justified? What’s the
cheapest way to start developing and deploying AS3 applications (in a legal
way, of course! :o) )? 5.
Server side language ----------------------------------------------------------------- I use PHP since 1999. I’ve always loved
PHP. But experience taught me that good engineering and maintainability can
only be achieved with mature programming. I’ve made some Java desktop
applications, without loving the language itself (it’s SLOW), but loving
the philosophy. In CastingOffice we used PHP, but sometimes I wished we were
using JAVA. We haven’t, because we knew nothing about how JAVA behaves on
the internet: is it fast? Is it stable? Is it easy to configure? Does it
consume too much server’ resources? Is it easy to find a good http server
that serves JAVA? (Good and.. cheap?) OpenAMF is as good as AMFPHP is? What about alternatives? 6.
Server side 2-tier development
and design patterns justified? ----------------------------------------------------------------- We have developed CastingOffice’s
server side in a 2-tier basis, using PHP. The lowest tier - the database layer
- is responsible for executing SQL queries on the database. The second tier is
responsible for business controlling and data consistency. And we have a
“+1” half-tier, that exposes the business layer to the outside,
using AMFPHP. We haven’t used any design patterns, since our
purpose was mainly to achieve what the service was intended to (SOA). My
question is: what do you normally do server side? Just one layer (the service),
and directly access the database? N-tier development? Or you go further, and
apply design patterns to achieve a more structured application? In other
others, is it preferable a data driven programming (db, our option) or data
persistence (OO)? I know the first one Is far better in efficiency, but for big
applications shouldn’t data persistence be preferred? 7.
XML Driven Databases ----------------------------------------------------------------- I think that in future native XML Database
will be preferable to current plain database solutions. If you know what I’m
talking about, you’ll probably agree with me. If you don’t know what
is a XML Driven Database, I advice you to take a look at http://en.wikipedia.org/wiki/Xml_database
. Does anyone here ever used XML databases? What is your opinion on this subject?
Are there web hosting offering xml databases already? (haven’t found none
yet K). 8.
MovieClipLoader ----------------------------------------------------------------- MovieClipLoader is sh*t when it comes to
load one resource at a time (Queue Loading). Then, I’ve said it… I
know there are solutions, but they all seem to have the same problem: if you
remove the movieclip from the stage before the resource is loaded (and that
happens a lot, especially if you have a nervous user using your application :o)
) the Queue loader crashes (resource is loaded, but onLoadInit is not called
and no error is thrown). Ok, creating an onUnload event should solve this, but
by some reason it didn’t for us: sometimes onUnload works, others not
only doesn’t work, as it originate strange behaviors. Well, the main
thing is that I’ve said that moviecliploader sucks… :P I think that these questions are very
important when talking about maintainable web application development,
ESPECIALLY if are like me: you want to create something in the right way, but
you don’t have a coin in your pockets… Your opinion on the
previous subjects is very welcome, not only for me, but also to everyone with
the same questions. I think it should be better to answer each question as a
separate thread, if your prefer! Thanks to you all. And, if you’ve
reached this point, I must say: you have a place in heaven !! :D João Saleiro, Portugal |
_______________________________________________ osflash mailing list [email protected] http://osflash.org/mailman/listinfo/osflash_osflash.org
