Same here, if they use github more maybe they will put the docs on there too so we can push changes.
I’ve had a Web grid control for over 10 years and a desktop grid control for…8? They neeed to catch me first.
Geoff has wrapped up. @Paul_Lefebvre will now be giving a talk on Xojo: How It’s Made. Still don’t know what that means.
Edit: “Now”, not “not”
Doh! Too much insider info?
TBH I was looking forward to that.
I wonder if they will make theirs a drop in for yours ![]()
Thanks, Kem, for the live reporting! Sorry I can’t be there for you to buy me a drink! ![]()
I wouldn’t encourage it. If I started over now, my API would be different.
Paul is starting…
it is sometimes legitimate to consider a rewrite
Reviewing Xojo goals, including that they can do many things, but can’t do everything. Unfortunately that’s true.
There’s a tipping point that I have in mind, just not quite there yet.
We are all ears for further details
Xojo today is a product of multiple languages, like Xojo, C++, Objective C, TypeScript, and Kotlin, and various technologies.
Diving into the parts the components of Xojo, starting with the IDE.
- Originally C++ with separate versions for Mac and Windows.
- Rewritten in Xojo in 2004 (has it been that long?!?).
- UI redesigned in 2010-13.
The IDE has approximately 365k lines of code with about 7.5 GB of source code. There are about 1200+ project items, and it takes about 30s to open the IDE project. (This is down from about 2 minutes from when Paul started.) It takes about 1 minute to run the IDE project and 2 minutes to build the local Dev build.
Debugger talks to the running app via Sockets, and gets commands back from the IDE.
When working on the IDE, they launch the Xojo IDE through the Xojo IDE, and then can launch another IDE through the IDE running through the IDE.
![]()
Now discussing the compiler and how that works. The short version is, it’s now a multi-pass compiler for all platforms, but still has custom compiler for Intel 32-bit.
Compiler is written in C++ with ~85k lines of code.
What does “cycle” mean in this context? Each major release? Minor .x release?
I asked this above, hopefully Geoff will let us know later in a post here.