It’s been a while since I’ve last updated my blog on the current progress of my application, which I renamed to Crunchyfeed but it might fall into another revision of “brand”. I feel at ease fully knowing that things are going as I want them to; a few errors have been made as I wrote more C++.
Errors is sort of what “we live for” when it comes to programming, you make one you’ll know you have that issue tracker flooded. In my case I keep thinking that C++ is the same level of ease that is C#, Java, or Python. It isn’t, yet it is; depending on which perspective you see it. It’s a path of futility when you try to mimic, let’s say an ORM in C++. You could, but the framework Qt provides you makes it useless, and I don’t mean this in a bad way.
Don’t write PHP as if you were writing C#.
I think I wrote something around that line a few weeks back. I have come to reiterate the same line of thought. It’s not worth it, write C++ code that’s meant to be C++. In my case, I tried to separate classes, think separation of concerns and ORM-esque design. Except, C++ isn’t dynamic and trying to make things happen as if I was using Python can be extremely painful. It could also be my inexperience in the language.
Qt alleviates a lot of headaches. In my eyes, I never want to leave Qt land. Qt provides high-level classes to deal with plenty of use-cases, most of the time when it comes to “passing messages” you can just use the marvel that is
connect(ions). I hope that one that I can get the certification. But this also means years of C++ ahead.
Web development, no more?
Recently, I think that my knowledge in web development may be a key to open new paths. So now I’m not feeling that bad about having these skills. I’m still aiming to become a C++ developer, and of course eventually jump to C# land.
The features I’ve planned for the application are going quite neatly. I recently started devising a way to upgrade database schemas in my application and I think it might pay off quite nicely. There’s currently no “standard way” of upgrading database schemas, or how to interact with the database so it’s a burden we all have to carry.
Database stuff aside, there’s a lot to think about when managing GUI elements and its communications, for most of the part I’ve been wondering how to keep my application relying on well-intended communication and when to block such communication.
In Qt we obviously have
disconnect. These two are key that once learned you can create amazing responsive applications. We also have
QSignalMapper which notifies all connected objects of said event.
Communication is important, yes. Everything’s been a challenge so far, and my greatest challenge right now is creating custom user interfaces. The first perception of reading the documentation feels like one of those tasks that will take a while to grasp.
You see that beautify user interface? It looks amazing! Oh yea? How long do you think it will take you to do something visually stunning? Let’s not cheat our way with QML this time.
Creating a decent user interface is hell, and I’m not talking about the creative process of putting things together. The programming part? That’s the challenge right there.
Once I have something more concrete–because currently I’m still working with the internal parts of the application–I’m hoping to make the application
pay what you want, you can even put $0.00 if you want.
First release will be for Windows, once I solve a few issues with deployment of executable and installer. Then move on to Linux.