It was almost seven years ago since my first blog posted in this site. Yes, uniGUI has been in beta stage for seven years. It may look like a long time. Indeed, it is a long time for a beta period. We can mention several reasons for this.
The most important reason is that uniGUI initially started as a product for both VCL and web platforms. Many of you may still remember this feature. It allowed developers to create both VCL and web applications using a single source base. However, after a while, we realized that it is too hard to keep the same level of quality and richness for VCL. The Ext JS framework was growing steadily, adding new features with each new edition, and many of those features were difficult to implement for VCL. In time, the VCL part of the framework turned into an outdated and incomplete version of the web interface. This fact was unacceptable, and we decided to drop support for VCL and continue with a web-only framework. Our decision was supported by the majority of our community, and after that, we left the VCL mode behind and accelerated web only development. This was the first major architectural change in uniGUI framework.
Another major architectural change happened because we were not happy with the component hierarchy built in the initial versions of uniGUI. It was complicated and difficult to maintain. In the new architecture, the design-time code and the run-time code are fully separated. Also, the run-time code was divided into two libraries named Core and Components. The component hierarchy was also recreated and reorganized. This architecture of uniGUI is still used today. Obviously, we were not in a rush to release version 1.00. uniGUI was developed in the form of a community project, with quality and stability as the highest priority. Of course, uniGUI could not be free because from the first day it was intended to become a commercial product. The included Ext JS library is also a commercial product which can not be deployed without an OEM license. In the year 2014, we started selling uniGUI Beta licenses. The main reason for this was that uniGUI could not continue distributing fully functional beta builds without including an OEM Ext JS license, so it became inevitable to make an OEM agreement with Sencha Inc. After that date, all uniGUI beta builds could only be obtained by purchasing a beta license from us.
According to our community our beta builds were stable enough to be used in production. Indeed many developers are using uniGUI in production for many years. Again, we decided to continue in beta mode until we are fully confident that uniGUI can be labeled as version 1.00. Fortunately we are happy to announce that uniGUI has finally came out of beta mode. Yes, eventually we have removed the phrase beta and build 1404 is our first official non-beta build. From our point of view build 1404 is just yet another build in or long chain of builds. We are aware of all imperfections and lackings. Documentation is still not complete and component reference manual must be finished. Our highest priority is documents for now and with each new build we will continue improving uniGUI documents.
By ending the beta phase, we can say that a new era started for uniGUI. There is still much to do. Among the high priority tasks, we can count porting uniGUI to Ext JS 6.5, implementing our load balancing server and adding support for the Linux operating system. We will be busy with these tasks and continue improving uniGUI. At this point, let me express my sincere gratitude to all developers who have supported us during the beta stage by buying beta licenses. uniGUI could not thrive without your support.