best libraries for a journalling app (windows only)

hey guys. so i wanted to make a journalling app myself that'll keep me more accountable in the future. sure, i could use a markdown editor like obsidian or vscode's built-in markdown viewer, but i'm a developer and the best part about being a developer is remaking stuff that already exists just because you can aside from the backstory, what would be good libraries for this sort of thing? looking for a relatively gentle learning curve where i can get a grasp of the basics and get started easily. open to all suggestions and i need something to do over these coming weeks. this will probably be only a windows project, as my friend group only uses windows which is who i'll probably distribute this to. lemme know what you think 👍🏽
40 Replies
mg
mg4w ago
depends what you need to get done any given thing will have multiple popular libraries to get it done e.g. for storing the journal entries you'll need a database, which you could be accessing using EF Core, Dapper, linq2db, etc if you want a gui and it's windows only you can use WPF
it’s raining outside
how easy is it to get started with it?
mg
mg4w ago
Hello World app with WPF in C# - Visual Studio (Windows)
Create a simple Windows Desktop .NET application in C# with Visual Studio by using the Windows Presentation Foundation (WPF) UI framework.
it’s raining outside
for the database, this sounds stupid, but could i not just use a JSON/SQL file? or maybe something more adapted to storing and compressing raw text?
mg
mg4w ago
json can work. if you're just storing plaintext it'll be feasible for a while json wll require loading everything into memory at startup and rewriting everything at once if you're just using one file you could also just use the filesystem and not use a database at all an "SQL file" isn't a thing. sqlite contains its databases in a single file, but that's the exception databases are their own applications that you have to communicate with that said, in this case, sqlite would be the best choice
it’s raining outside
also it mentions here to use VS but my laptop doesn't exactly work the best with VS and operates much better with VSCode, but of course, there's no XML viewer in vscode (i think), so what do you suggest i do about that?
mg
mg4w ago
not sure if there's much you can do
it’s raining outside
that's what i meant: a sqlite connection ah yes, that's another good idea
mg
mg4w ago
maybe just write the xaml -> run -> edit -> rerun i've never used WPF
it’s raining outside
hmm, options, options what have you used then?
mg
mg4w ago
all i do are web apps you could also look into avalonia, which i also haven't used
it’s raining outside
hm, ok. i'll take a look iz there anyone here who has used avalonia or wpf?
mg
mg4w ago
lots probably #gui would be where they're active
it’s raining outside
also do you know about flutter?
mg
mg4w ago
i've heard of it
it’s raining outside
hm ok
mikecodesdotnet
I've used both. Started as a WPF developer. Fell in love with Avalonia and ultimately joined the Avalonia team.
it’s raining outside
what about avalonia makes you like it so much, versus WPF?
mikecodesdotnet
Cross-platform was the initial reason I tried it. I had a compled WPF application that I wanted to run in an embedded scenario. I couldn't understand the embedded Windows licensing situation, so decided to try some other options. Started rewriting in Qt, but found it hard (I hadn't used Qt since QWidgets and it had changed to QML). I then found Avalonia and spent a few hours porting the most complex custom controls. It all worked! The most I played with it, the more I enjoyed the experience. My app could be run on macOS and Linux while reusing a huge amount of code.
it’s raining outside
ah i see. is avalonia easy to start with? and can it be developed in only VSCode? regular VS doesn't work well with my laptop, so things with XAML don't really work well, if that makes sense
Insire
Insire4w ago
you'll have the best experience with an actual IDE, you can use VSC, but that wont make it easier for you
mg
mg4w ago
^ this goes for more than just using a UI framework. it's worth investigating why your computer is having issues with VS
Insire
Insire4w ago
avalonia works best for ppl with experience with WPF because thats where avalonia took a lot of inspiration from
it’s raining outside
it just runs like shit. always lagging, taking forever to do simple stuff - it makes no sense to be fair, i AM using a fairly old and simplistic laptop, but still, i dont see why the software doesn't work
Insire
Insire4w ago
the software relies on the hardware
it’s raining outside
i have an i5-4210U and 8GB of RAM
Insire
Insire4w ago
and what kind of storage? old laptops usually run on HDDs, which makes them stupidly slow
it’s raining outside
i think my dad swapped it out for an SSD, but i'm not sure how you would check this
Insire
Insire4w ago
because not only did the manufacturer did include HDDs, they did include slow HDDs. aka 5400 RPM ones
it’s raining outside
what's RPM and why's it relevant to HDDs?
Insire
Insire4w ago
rounds per minute HDDs have spinning discs inside slow spin == slow reads and writes SSD have no moving parts
it’s raining outside
ohhhh ah i see makes sense
Insire
Insire4w ago
you could check the (windows) device manager, its possible that the devices are properly labeled there and then its obvious or you could open the laptop and visually inspect the parts another common laptop problem is their low weight, which means low thermal mass resulting in low cooling performance and overheating parts tldr: your laptop could be getting too hot, so it will slow down as much as possible, in order to not kill itself
it’s raining outside
so i'm guessing the solution is to use a proper PC
Insire
Insire4w ago
¯\_(ツ)_/¯
it’s raining outside
OR get a laptop that isn't reminiscent of cold war times
Insire
Insire4w ago
it depends on your specific situation many things can slow you down maybe your laptop collected too much dust and overheats because of that idk maybe you are placing it on a blanket and block the exhausts that way maybe the thermal paste and thermal strips are completely dried out and dont transfer a lot of heat anymore i could go on, but you probably get the idea in regards to your original question: $desktopappdev
Insire
Insire4w ago
maybe that helps an IDE is recommended (and for some even required) for all of them but as i said, if you are patient enough, you can make do with notepad notepad++ and VSC are easy upgrades over just notepad
it’s raining outside
alright, thank you. i'll be building a new PC with my dad over christmas which will be a good segway into all the things i couldnt do with my currnet laptop this was a gift from him, and intended to only be for not much more than schoolwork and editing files. programming can get quite heavy on your hardware when you want to push the limits
Want results from more Discord servers?
Add your server