LiveCode vs. The Web
Posted: Thu Feb 16, 2012 5:22 pm
First, let me be clear - I do not intend this as a flame bait type of post. I don't want to ruffle any feathers. I actually need good quality perspective from LiveCode professionals to steer me in the right direction. I apologize if I step on any toes.
I am an application developer for a telecom company. I'm sort of a "department developer" vs. an "enterprise developer". I've developed some pretty cool stuff that includes automating and controlling telecom equipment, productivity apps, metrics and charting dashboards, etc. All of this was done with the traditional web development LAMP stack.
So, I'm very much stuck in the "open" web mindset. The tools I use to develop with are all open source, I don't have vendor lock-in issues. Almost anyone with moderate LAMP experience could come in and work on my code. My users don't need plugins or OS based executable files. I can change the backend and web based GUIs without having to distribute executables.
However....I am developing an application right now on a LAMP stack with the entire web GUI based off ExtJS. It's quite nice looking. It's also slow as sin. Because I have many data grids, panels, tab panels, etc, the GUI is dragging big time. I also have huge datasets that are bogging the DOM down like crazy. Yes, I COULD use pagination to limit the size of the data grids and make the app more responsive. However, it really is important for the user to see all 300 or 999 or 3000 or 9500 records all at the same time. Pagination would really kill the usability of this app. At the same time, taking 5 minutes to scroll to the end of such a datagrid is also killing the usability of this app. So, I have literally reached the limits of a browser I believe.
Then, I discovered LiveCode. I put a few datagrid examples together. 3 grids with 3000+ records each side by side = scrolling nirvana. I whipped this together in just a few minutes - literally vs. several hours with LAMP stack and ExtJS.
So, here is my dilemma. Can I really throw away the freedom and openness of web based development for something like LiveCode? I'm not even sure my company would allow it.
If someone could comment on the specific issues listed below, I'd really appreciate the feedback. I'd love someone to convince me that LiveCode is the way to go. But I need to overcome or at least alleviate my concerns.
I am an application developer for a telecom company. I'm sort of a "department developer" vs. an "enterprise developer". I've developed some pretty cool stuff that includes automating and controlling telecom equipment, productivity apps, metrics and charting dashboards, etc. All of this was done with the traditional web development LAMP stack.
So, I'm very much stuck in the "open" web mindset. The tools I use to develop with are all open source, I don't have vendor lock-in issues. Almost anyone with moderate LAMP experience could come in and work on my code. My users don't need plugins or OS based executable files. I can change the backend and web based GUIs without having to distribute executables.
However....I am developing an application right now on a LAMP stack with the entire web GUI based off ExtJS. It's quite nice looking. It's also slow as sin. Because I have many data grids, panels, tab panels, etc, the GUI is dragging big time. I also have huge datasets that are bogging the DOM down like crazy. Yes, I COULD use pagination to limit the size of the data grids and make the app more responsive. However, it really is important for the user to see all 300 or 999 or 3000 or 9500 records all at the same time. Pagination would really kill the usability of this app. At the same time, taking 5 minutes to scroll to the end of such a datagrid is also killing the usability of this app. So, I have literally reached the limits of a browser I believe.
Then, I discovered LiveCode. I put a few datagrid examples together. 3 grids with 3000+ records each side by side = scrolling nirvana. I whipped this together in just a few minutes - literally vs. several hours with LAMP stack and ExtJS.
So, here is my dilemma. Can I really throw away the freedom and openness of web based development for something like LiveCode? I'm not even sure my company would allow it.
If someone could comment on the specific issues listed below, I'd really appreciate the feedback. I'd love someone to convince me that LiveCode is the way to go. But I need to overcome or at least alleviate my concerns.
- Vendor Lock-in
- With LiveCode, I don't have a choice of IDEs (really).
If RunRev goes out of business, I have an unsupportable, non-future proof app
- ExtJS has great visual GUI and layout options.
I haven't seen particulary nice examples of Windows/Mac based LiveCode business applications.
Yes, LiveCode can be skinned, but I'd like a very nice off the shelf skin for LiveCode.
- If I leave my company, and am using a LAMP web based GUI, my employer could find someone to replace me quite easily. The talent pool is quite large.
If I develop in LiveCode, my employer is going to have a much harder time finding a capable replacement.
- I just tested the browser plugin for FF and IE. My little test app worked fairly well.
However, there is no support for Safari or Chrome.
Everyone hates plugins( see Flash )
My test app on FF on Mac doesn't work quite right. How to resolve.
- The idea of distributing applications for the desktop has really fallen out a favor.
Having to distribute updates for every application change seems a real burden vs. instant deployment via the Web.
- With my apps in PHP, JavaScript, HTML, etc, version control is a breeze. Each file can be easily tracked, branched, committed, rolled back, etc.
Version Control in LiveCode seems quite painful. It seems everything is kept in a singe binary file. How can this be dealt with?
- With LiveCode, I don't have a choice of IDEs (really).
- Hard coded
- In my datagrid example, I coded the db connections and queries directly into LiveCode.
Development was quick and easy.
It's not very maintanable.
API- Alternatively, I could have avoided all database interaction and used a web based API.
This is very maintainable.
It would allow someone to scrap LiveCode and choose some different GUI (web or desktop based).
It would allow other departments to access the application data via whatever means they'd like.
It is SLOWER because I have to develop a web based API AND the interaction with it in LiveCode
- In my datagrid example, I coded the db connections and queries directly into LiveCode.