I just checked, and it's been over 4 months since the last ZitaFTP Server update! The 5 month mark is approaching rapidly. I distinctly remember saying that I was aiming to have more regular releases after streamlining processes. So, what happened?
Followers of this blog may recall my search for a C++ web framework to use as a foundation for ZitaFTP's web-based UI. That search ended with me finding none that were suitable, primarily because of AmigaOS limitations.
The Cost of Writing Your Own Framework
With no suitable ready-made framework, I started writing my own. First the HTTP server and its router (directs webpage requests to the correct handler for that page). Then, handling of sessions so people can log in and out. Plus a lot of smaller items such as HTTP POST form parsing, URL parsing and building, etc.
Over a month ago, it felt that I'd written enough low-level code that progress would start to accelerate. Wrong! I totally forgot about the GUI widgets. Frameworks such as Wt have a library of widgets for the most common tasks. So, for example, you could easily display a list of users by using their list view widget, and feeding in the data. My own framework comes with nothing. So, every new widget I need has to be written from scratch.
In short: using a ready-made framework would have saved me months of time (and counting).
How to Choose a Framework
You'll never find a framework that does everything you need exactly the way you want. However, if a framework delivers say, 80-90% of what you need, then I highly recommend you use it. The time/expense of writing and maintaining your own is huge. This counts for any framework, whether it's for web-programming, writing games, or something else.
That said, make sure the framework is still being actively maintained and really can do most of what you need. I once started using a database framework, only to discover that the author had abandoned it and it didn't really work. I wasted time learning how to use that broken framework, and then even more time trying to fix its bugs. Eventually, I cut my losses, and threw it away. Bad frameworks can also waste huge amounts of your time.
Still Want to Write Your Own Framework?
I highly recommend using some existing frameworks first. That way, you'll know what such a framework needs, what's been tried before, the pros and cons of existing approaches, etc. With that done, you can think of a new approach, and/or what features and techniques you want in your framework.
New ZitaFTP Server Coming Soonish
Progress is being made, and I hope to be able to finally announce a new update in a few weeks time. However, I remember thinking that a few weeks ago too, so we'll see. The next update will still be AmigaOS only, and will give people a taste of the new GUI.