> On Sep 19, 2017, at 6:16 AM, Russell Duncan <rdunc...@fiu.edu> wrote:
> 
> I've just started researching programs for coding/app-making and SQLite
> came up, is this a program that would be useful for something like that?

Yes, although SQLite is rather low-level, and learning to use it directly is 
already a sizable task if you're not already familiar with databases.

(The best example I can think of is that you decide to start a band, so you 
walk into a music store and look at an electric guitar pickup*. Is it useful 
for making music? Yes, but unless you want to dive into a rabbit hole of 
customizing your own guitars, you should probably start by buying a complete 
guitar and learning to play that.)

> I'm trying to make the app from scratch, and learn everything on my own so
> it is completely mine, I do not want to go through tools that have
> completed the coding for me.

I can understand that desire. But there's a difference between a tool that does 
all the work for you, and a tool that takes care of lower-level stuff so you 
can focus on the high-level app. And as a novice, it's best not to take on too 
much complexity all at once.

SQLite itself has a low-level C API, and on top of that it has a specialized 
language called SQL that you have to write commands in. There's a big gap 
between that and the language you'll probably write your app in (Swift, Java, 
C#, Objective-C…) and the kinds of things your app will want to do, like "save 
a Chat object to disk" or "find all the Person objects for people I've talked 
to lately". You could spend months just learning how to write code to bridge 
that gap.

You haven't said which OS platform you want to develop for, but they all have 
higher level data storage frameworks that act as glue between SQLite and apps. 
For example, Apple has Core Data. (I'm not an Android or .NET programmer, but 
they have database APIs too.) These frameworks make it pretty easy to store and 
load your application's objects, and to find objects matching particular 
criteria. You won't have to spend time worrying about how to encode String 
objects to UTF-8, how to invoke sqlite3_step, or what an INNER JOIN is.

Also worth looking at are cross-platform data libraries that aren't directly 
tied to SQLite, like Realm and Couchbase Lite [disclaimer: I work on Couchbase 
Lite.]

—Jens

* Modular synthesizers are an even better metaphor, but they're less well 
known. As a music newbie it would be a terrible idea to start out by buying an 
individual rack-mounted oscillator. Instead get an all-in-one synth like a 
Novation Circuit or a Korg Minologue. I say this as someone who's had a Circuit 
for two years and is now just starting to get his feet wet with modular gear.
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to