On Sep 22, 2010, at 5:53 PM, Ron Savage wrote:

Your preference to hark back to perhaps obsolete software strongly
suggests your need to rethink the bases of your decision-making ideas.

Probably. Or just get out of the game entirely.

But hear me out because this post contains some beginner's questions...

I've been working on an iDevice web app lately. It's a small, focused, app. I made it with CGI.pm, no other perl modules, and the Prototype JS libraries.

This little app uses the CGI->save method to store user preferences on the server. Now, since the file the preferences are stored in is named the same as the user's username the app knows right where to find it, and CGI.pm loads their data into an object pretty darn quickly. This probably is easier to code, and probably requires less processing power than using any SQL database engine for apps that have a user base of up to 100k users, maybe even more.

I am wrong about that?

Which is faster and/or more efficient, this:

sub get_prefs {
        
        if (-e "./users/$user") {

                open(my $FILE, "./users/$user);
                $PREFS = new CGI($FILE);
                close $FILE;
        }
        
        else {&error_page("Opps...")}
}

or however you'd do the same with MySQL?

I really don't understand how loading that data into a CGI.pm object could be done more efficiently by firing up a database engine or even making a query to one that's sitting there running all the time. That has to require more of something, doesn't it?

My interest in peeking at Boulder was really OT, but let me explain a little more about why it intrigues me. It seems to offer some simple ways to search for data in sets of simple data files like those created when using the CGI->save method, almost an SQL like way of retrieving data from this format. And HTML5 supports a client side data storage function that uses the same format, so the two should be easily shared and synced between the client and server. And it may be worth looking into how the functionality of Boulder might be recreated with JS for the client side.

I would offer that there is a difference between something being obsolete and being ignored. Certainly when Mr. Stein created "Boulder" he was aware that MySQL existed. What was his motivation? Is Boulder still being used to suit those purposes and more? If so, it's not really obsolete is it?

And I am certainly not arguing that CGI::App and other Frameworks are not appropriate for small apps, what I am thinking is there may be a good reason for a simpler, ultralight, framework for small apps to exist.

I suppose most of the functionality of that framework I imagine already resides in CGI.pm. I just don't think it's been integrated into an approach that's easy for beginners to excited about.

For me, creating my first "iPhone" web app has been a fun and exciting experience and I see an opportunity for perl, as a language and the community as a whole, to benefit from the momentum of mobile apps. Read what Jann Linder wrote in his blog about his experience creating his first native iPhone app:

iPhone Programming Hell :: http://www.jann.com/

Compared to Jann, and everyone that's responded here, I am, and always will be, just a perl beginner. But my app did not require native iOS code or a SQL database engine, so were my decision making ideas for my approach really flawed?

I'll readily admit that some of my code may have flaws, but I need to understand more about why my approach is before I rethink it.

Thanks to all that have responded,

Bill



--
To unsubscribe, e-mail: beginners-cgi-unsubscr...@perl.org
For additional commands, e-mail: beginners-cgi-h...@perl.org
http://learn.perl.org/


Reply via email to