> On Sep 19, 2017, at 6:16 AM, Russell Duncan <[hidden email]> 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.]
* 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
[hidden email] http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users