We learn and we grow. You are not the only one that looks back and wishes projects had gone better or in a different direction.
Oh of course not!
Creating and nurturing an open team culture where discussion is encouraged and ideas are put under scrutiny (including the boss’s ideas) is senior management duty. If senior management fails at this, projects invariably fail.
I’m not sure that it is
The XAML Controls are kind of a tack on to the existing Win32 underpinnings and not an entirely new framework
Well see I guess
Oh you weren’t the instigator of that
It had started before then with Desktop & Console as 2 separate ones - we did just happen to perpetuate it
And to be fair I dont think, at the time, ANY of us had had enough understanding of everything required to make it so a single project could work
So “new project” was the default and we did that for iOS as well
Even though Var is used in other languages it is not consistent with the philosophy of API 2!
It should be something more like:
DeclareOneOrMoreVariables I as Integer
Maybe I should put in a bug report?
- Karen
In C# for instance VAR is “automatically determine the type”
So a like of code like
var foo = SomeFunctionWithAReturnValue() ;
will make foo whatever type the function returns without me having to do anything more
In swift you can do
var num = 10 // num will be defined as an integer
var siteName:String // siteName is a string
var id: Int // Id is an int
Xojo’s var is JUST a synonym for DIM
In JavaScript, var
declares the variable in the global space, let
declares it in the local space, and const
declares it locally and prevents a new value being assigned to it. Though an object in a const
variable can be changed.
So switching dim
to var
really made no difference because there’s no consistency at all between languages. Still, I think var
is a little more obvious, so I’m not complaining.
In Go there are several ways to declare a variable:
var s string
or
s := "" //no declaration using the bucktooth equals
or
s := someMethodThatReturnsAString() //no declaration using the bucktooth equals
And once it’s set the compiler will not let you put some other type into it. It’s even picky about Int8, Int16, Int32, and Int64 values. You must explicitly convert values.
Items 1 and 3 are the most common in our company. 2 is just weird but possible.
Honestly, most of what we do has stuff like this:
s, err := someMethodThatReturnsAStringAndErrorValue()
if err != nil {
//handle the error
return
}
Errors are a value and can be wrapped. Thing errors within errors within errors. Confusing at first but it definitely allows you to cascade errors and you can get (and deal with) all of them at some point of your choosing.
Speaking of Xojo Web, I didn’t build GUI apps with it, I used it for services and what I really appreciated was that I could lift code from my desktop apps and throw them in a web project and I’d get identical results. I actually didn’t care that this was separate projects, I cared identical code == identical results.
Greg stated that Web 2.0 probably would have better received if it supported API 1.0 and for me that might have been the case. As it was, once I’d lost the core reason for using it, I looked at the pricing options. I didn’t need anything else from Pro. Workers are too limited, and console wasn’t worth it (I can get what I need from a GUIless desktop app).
I bought a “Lite” license when Apple Silicon support was available, and would have potentially continued purchasing that, except API 1.0 isn’t getting any bug fixes and DesktopControls broke my App Kit. So I stopped entirely. I did at least provide the CEO with my reasoning and what I would like to see to continue renewing. None of that has materialized, so I started to learn a different tool.
With Swift, I can make better Mac apps and with the Swift on Server project, I can make the web apps that I need, which will use the same code as my desktop apps, so I’m back to having one language that does what I need.
I am trading time for money, but in the long run, I feel that puts me in a better position. A tool which is exactly as it should be (according to CEO), versus a tool that is continuously being improved and importantly, likely to be around for decades to come.
There is a Swift mentality to use “let” instead of “var”, because it makes the instance non-mutable. Then if you need to alter the value create a “mutating func”.
I still like the Obj-C way, where the class name indicates of the object is mutable or not, but I’m sure I’ll get used to it.
Of course coming from Xojo, non-mutable objects is a foreign concept.
EXCEPT there was this sort of separation in the Xojo framework
https://documentation.xojo.com/api/deprecated/xojo.core.memoryblock.html
https://documentation.xojo.com/api/deprecated/xojo.core.mutablememoryblock.html#description
but …
I Remember Android was also on the excuse list once. To me, it almost sounded like the security on Android was so bad that nobody would use Android, and therefore Android will never be an option on Xojo. Yet the whole world outside Geoff’s brain where using Android apps because most of us 3rd worlders could not afford Apple products at the time. He really ticked me off that day. But still came back to have a look and found it to be a little on the empty side. I must be sounding very negative but we have to start standing up for our rights guys. They took money every year and may have implemented a font change now and then - pun intended
That is a constant. A really SMALL minded person that is unable to grasp what people actually use and need.
the excuse was always "well the average user … "
I’m sure everyone’s heard some variation of that
So, honestly, I’m REALLY happy I found this thread.
I only discovered Xojo a few days ago, and have been on the fence about purchasing the pro package. I have several apps that I’d like, for a start, to create in windows and android in parallel, both with the ability to read the same mysql db. Xojo sounded like the perfect solution, but $800 was a sticking point especially since I would be making personal apps for my own use.
One of the draws for Xojo was the 40+ yrs of familiarity with basic derivations. And the ability to (apparently) code once and deploy many platforms was icing on the cake. The database integrations were candles stuck into the icing on the cake.
But now, I see this thread (and many others on this forum) and am relieved I didnt make a big mistake.
That being said, if its allowed, I see many people reference “other platforms better and cheaper/free”. Do such things actually exist? If so, what are people planning on moving to? Asking for a friend…
Welcome to !NN… glad to see that our efforts have save you some pain, grief and disappointment
Personally my efforts are towards macOS and iOS, but I’m sure over the next few days, you will get many suggestions on a direction that will be more productive
FYI… UNLIKE the offical Xojo forum with its rampant censor ship, you won’t find that petty mentality here.
Well, Yeah, xojo Android is a joke, maybe a couple years more to be somewhat stable.
I have being using it for many years for windows, my last licence is from 2019 and there is nothing new worth the upgrade. As for mobile, I have being using B4X to make Android and iOS apps that in many cases complement apps made in Xojo for desktop.
You would need at least one plugin that provides functionality Xojo doesn’t. This adds to the budget.
There are many Free/Cheap/Costly tool.
But it depends on what you want to build.
There are different recommendations for different platform.
If you are looking for one single tool that can help build cross platform apps then check out LiveCode.
It may interest you.
It claims to support 7 platforms!!
Welcome to our community
Flutter & Dart
Java
C# using .Net MAUI
And I’m sure there are others