This is cool, but there is no LICENSE file putting this in DONT USE territory.
This has a license: https://github.com/skiptools/skipstone but it vendors the other repo according to the readme? I am super confused about how this would work.
This is great news, thank you. I have been looking into a way to port Soundscape Community [1], a navigation app for the blind to Android without having two codebases to maintain. Skip looks ideal; I was planning on asking you about licensing for a very small team with almost no funding.
Someone else already asked about talkback accessibility; I assume it will work because it translates to native UI controls on android. Is that correct?
Yes, as I just responded there, Skip uses the native toolkits and conventions on both platforms: SwiftUI on iOS and Jetpack Compose on Android. So you automatically get the platforms' built-in accessibility support.
This is a welcome addition but why should Flutter devs use this ?
Seems like it requires 32gb of ram! Also Flutter is already very mature and can produce not only near-native mobile apps (the difference is almost negligible) but can target desktop and even web applications.
I do wonder how much of a boost skip offers vs Flutter's mobile apps. Will give skip a try when dram prices normalize.
Dunno about Skip, but I can always tell when an app is Flutter. They feel like crap. Everything's a bit off with the native looking widgets. And fully custom designs still animate a bit weirdly. And they definitely still stutter. Somehow a tier below React Native.
Flutter re-generates the entire layout every tick and diffs it (immediate-mode), like a game engine. If your device isn't quite fast enough it'll lag, yep. RN is retained mode (but written in immediate-mode style and the diffing only happens when it has to).
See my response below on the KMP question: the comparison with CMP mostly applies to Flutter as well.
> near-native mobile apps (the difference is almost negligible)
Not as of the advent of Liquid Glass on iOS (and, to a lesser extent, Material Expressive on Android). Flutter isn't going to be implementing these new interface conventions[1], and so the UI for these apps are stuck on the last generation and are already starting to feel outdated.
Flutter's grim outlook has resulted in a surge of interest in Skip, and it was one of the drivers for us to open up the platform and catch the wave. If you love Dart, or if your apps don't need to look native (e.g., games or very bespoke interfaces), then Flutter might continue to be acceptable. But everyone else is starting to look elsewhere, especially in cases where their business depends on their apps feeling premium and native.
Flutter still doesn't support liquid glass on iOS so it doesn't seem like a serious contender to me at this point. And due to the nature of how Flutter is implemented, it's going to continuously be an uphill battle. Maybe it's fine if you intend on having a completely custom UI and don't care about platform look and feel.
In general, the "render UI as if it were a video game" route feels like a bit of a dead end on mobile to me. On desktop it's more workable but still isn't without issues.
Well, you're running both the iOS development tools (Xcode, iOS Simulator), plus the Android development tools (Gradle, Android emulator, and maybe Android Studio too). These add up.
16GB might be possible, though.
(Skip itself doesn't take much memory. If you run it headlessly as a SwiftPM plugin, you wouldn't need nearly that much.)
Do you have to run both at the same time? Because my flow with React Native is to focus on one platform at a time, I don't try to run everything in one shot.
No, you can configure it to just build and launch for iOS or Android separately. But we do recommend iterating on both in parallel for most of the UI work, just to make sure that everything stays in sync.
For framework/library development, you can of course build and test separately for each platform.
Likely because it uses both iOS and Android toolchains plus its own transpiler (with Skip Lite) or other overhead with Skip Fuse. iOS alone is already challenging with 16GB. Don't blame Skip for this - it's on Apple and Google for not shipping memory-efficient tooling, which shouldn't be a surprise if you've used their software.
As we mentioned in the post, developer tools really need to be freely obtainable in order to gain mass adoption. In that sense, it was an easy strategic decision. And we felt that the time was right, given that Skip's benefits are being thrust to the foreground in light of recent developments.
You should really consider why free software exists. Open source is open source, sure, but it is a disservice to your users to ever release proprietary software for any reason.
I personally would not start or run a business that didn’t release all software it builds under free software licenses. We don’t open source it because “developers expect it”, we open source it because it’s the right thing to do by your users.
> Free software is an ideology, not just a license.
Yes and people shouldn't enforce ideology on top of each other. I am speaking this as an free software advocate too.
the fact of the matter is open source is still barely fundable and I am pretty sure that they evaluated multiple decisions to come up to this regarding how fundable it is and other factors.
If we have to indoctrinate someone into our ideology, it means that our ideology is unable to gain weight by its own merit. No, let open source do the work and welcome people for who are now open source. Have open arms to everyone who open sources their work & incentive them to do so with a happy heart.
Open source is about freedom. And being honest, If they wrote the code themselves, then its their freedom to have it in open source or not.
I for one, welcome another great open source! Thanks for going open source and Good luck to skip in future!
I know Open source has some issues regarding funding etc. so I hope that people donate to skip & make the project sustainable!
I don’t open source my iOS apps that provide my living because there are many examples already of others using this to release identical apps without credit or sharing their work back (even with AGPL), which would remove my source of income that enables me to work on it in the first place. I haven’t found a way to make a living off open source yet for the type of products I produce.
I’m not independently wealthy to be able to afford to work for free. If I release my work for free, then I will have to live on the streets or in a cell, or take a job and lose the time I have to produce my work in the first place.
This is indeed a dilemma, but note that copyleft licenses like GPL or MPL do give you considerably more protection than a pushover license like MIT/BSD. I wrote about this last year at https://appfair.org/blog/gpl-and-the-app-stores.
Shame that the world has to be like this in the first place :<
Perhaps I am way too altruist at times & the world is capitalist without any discrimination, stealing anyone's work and reselling it feels so scummy and I have heard it happen actually so you are not actually completely in the wrong and its your code and your lifestyle and so I respect it. (Even if I am an open source advocate, I will admit making money from Open source is super hard in many cases)
Interestingly, what's your thoughts on Source available licenses. Like, honestly, like use a license which doesn't allow reusing components or providing another appstore release of that or similar
If you use github actions with immutable and other instances, I feel like there is a real way of like verifying that the code written is safe & people can verify it & trust it.
If people want to modify your product, they have to pay you and get in touch with you.
I will take this with additional security context and being able to audit over having nothing in the first place! (Hopefully I hope this might not impact your living either in any way and honestly even if you do this! Some of us would deeply appreciate it)
Something is better than nothing. If even much of the world goes to source available licenses, I feel like the transition to open source of softwares becomes much simpler as well if enough conditions (like people start donating/govts start investing in open source) etc. happen!
Source availability still provides one to that direction & is still overall positive with atleast in this context, virtually zero downsides.
Yes, the unique benefit of Skip is that you are using the real native toolkits on both platforms. So you get both SwiftUI's accessibility support via VoiceOver, as well as Jetpack Compose's support via TalkBack.
That's awesome! My family has users of both, so this might be a convenient way to use a pleasant language to write mobile apps that all of my family members can play with.
Interesting. I used Expo recently and loved the development experience. I also built a simple iPhone app with Swift, and it was a decent experience. I have plans of building another iPhone app and was considering Swift again, which would make me miss building an Android app, but maybe Skip would allow me to do it anyways.
Biggest downside to SwiftUI development is lack of hot reloading. You can use the Inject framework but it’s fragile. This also makes it harder to iterate on with agents.
> The plain truth is that developers expect to get their tools free of charge.
I've run into this too with my own app. I thought people would like a Lua GUI framework that's professional grade and gives you full access to WinAPI via Lua. I was using DragonRuby as my model.
So I wasted a thousand hours making the app and its documentation. Turns out, even after people understood what it was (I suck at marketing), everyone still agreed that whatever it could become or ever evolve into was still not worth a dime.
Now I'm faced with a decision. Do I open source it? I think, no. What's the point? Marketing for my skills as a developer? There's no more need for software consultants now with Copilot/etc. I have to change careers.
Then, should I open source it altruistically? What for? First of all, giving things away for free is not inherently good. One negative side effect is teaching people not to rely on their own industry. Another is that they may use it for evil. And then, it feels like such a waste to let the code die out.
> What's the point? Marketing for my skills as a developer? There's no more need for software consultants now with Copilot/etc. I have to change careers.
I encourage you to find a way out of this belief, or at least least fend it off as long as possible.
You can see from recent HN postings that most people are not experiencing career-ending levels of performance from LLMs.
Hey! (firstly recognized you from your other post on HN)
Personally I would love the idea of creating a lua application natively. You don't know how much I wanted it now that you mention it.
I remember looking for such solutions,finding none, then I even thought of using kotlin apps with lua integration but didn't like the idea of learning kotlin
For some reason, even though I have only played just a little bit with lua, there are tons of options which compile down to lua which can make it really powerful too and so for the end developer, there are tons of possibilities and it starts out being so simple!
I think the problem with lua was that there is a lack of libraries & projects regarding it so this might actually help it
I have another question tho and I'd love it if you can answer it.
Is there any way that I can write a cli application in golang or port it to something with just glue code being lua and using it for android somehow?
I don't want to create an android application in golang itself for what its worth because I find the primitive a little lacking (what do I use, wails?)
I have heard people use python kite or something iirc which looked good but python-go support isn't the best & i dont even know if its on android
If you can actually provide lua as the UI/UX support (I am imagining something simple but powerful) with code being allowed in other languages where I can get some powerful libraries (golang), I would be super interested in it.
Regarding Open source, I would personally trust the project a lot more if this was open source.
That being said, I understand the worry of changing careers/consultancy/AI marketing because I am still a teenager in high school. I have anxiety because I have an exam for the colleg ein 2 days, I am a bit cooked haha but I guess I just gotta try
Your fears are valid and somehow I imagine you in a position wayy similar to raylib & I remembered this post.
Honestly, what are your thoughts in teaching at a college about app development with lua, I mean I am a teenager and I would die for such a course!
Although I was never into roblox, some of my friends were and they treat lua as the holy grail because of roblox development and roblox's development community is from what I can gather decently respected especially if you are teen, some even learn lua just for it.
so you can get people who are interested in already having some gui experience with lua (more in a game environment but still) and you tell them that you can make apps with it just as easily? People will be hooked.
Of course there is some LLM but honestly, nobody cares. LLM's wont be able to recreate your project, I am mostly sure of it.
Marketing is something that I relate with too because we never know what the public really really wants.
I mean, I will admit it, We people are kind of hypocrites (speaking from my behalf)
Sometimes we would open source project and want it to be sustainable without paying the devs or donating to them, that sucks. Some of us just want open source for ideological reasons and um, honestly, I will admit it. It's your code, do what you want it, you built it and you should be proud of it!
We can only give suggestions but I recommend you to create some video of the project so that I can see it.
App developments are fucking nightmares. I had even thought of using godot just to create app development. Any new solution provided decent enough can absolutely help.
Personally I believe you should wait for some time & try to write a blog post about it. I want to hear all the nerdy details!
Create a show HN post, I saw tomhow mention to me how much of the audience wants originality and the idea of "aha moments"/something novel. Provide us with knowledge of what aha moments did you discover during building this, I am soo curious myself!
Good luck man and I genuinely hope the best of luck for you man! Just message me whenever you feel like it or mail me, Will try to respond to ya if you ever need my help (I don't think so but I'd love to playtest what you are mentioning too!)
Oh yea just a teeny bti suggestion adding on that golang one, can you just make it so that I can have a very simple and easy/fast way of compiling golang cli applications into gui android applications with lua code. I personally want this so bad because there are soo many good and lovely open source golang cli and I wanted to be part of f-droid by creating an application gui for some golang cli tool we might use but it felt sooooooo hard that I gave up. (Yes I even used tauri and ended up waking up till 5 am debugging)
The pain point's definitely real and LLM's won't be able to make this. Only the people like you who are truly passionate about such projects can make it. It's a unique project and you should be proud of it and I hope that the project has a good future!
Good question. I'll try to answer as objectively as possible, despite my bias towards Skip's approach.
Kotlin Multiplatform (KMP) enables you to target different platforms with your Kotlin. In the context of mobile apps, it allows you to compile your Kotlin to a native framework for iOS, so you can reuse your business logic. On iOS, the Kotlin is running in its own little garbage-collected runtime, but it sets up a bridge to Objective-C and Swift, so the iOS developers can communicate with it from their apps (the interface of which will typically be written separately for each platform). It is neat technology, and Skip integrates with it[1]. We were on their Talking Kotlin podcast in 2024 talking about it[2].
When targeting just the shared business logic and not the UI, Skip is, in some ways, the inverse of KMP: whereas they let you share Kotlin logic between the iOS and Android app, Skip lets you share the Swift logic. Skip operates in two different modes[3]: Skip Lite and Skip Fuse. Skip Lite is the original version of Skip, and transpiles your Swift into Kotlin. Skip Fuse is a later iteration and resulted from the formation of the Swift Android workgroup[4], of which we are founding members. In both modes, you can share your Skip business logic layer between multiple apps, and this is a popular application of Skip (e.g., see this talk at NSSpain[5]).
So that's the story for shared logic. Now onto the user interface part:
While I mentioned that Skip _can_ be used just for sharing business logic, it really shines when you build your whole app with it. You write your app in conventional SwiftUI, and Skip will translate it into the equivalent Jetpack Compose (which is now Android's official recommended way to build apps). Launching your app from Xcode will bring up both your iOS app in the simulator, and the equivalent Android app in the emulator. It is designed to be a single vertically-integrated app creation solution, and enables a single team (or a single developer) to iterate on both platforms at the same time, without any of the coordination overhead of building two separate apps for the two platforms.
KMP itself doesn't have an equivalent, but it does have a sibling project "Compose Multiplatform" (CMP), which is built on top of KMP and sort of does the opposite: it lets you write your app in Kotlin and Jetpack Compose and run it on iOS. But the way that it achieves this is different from Skip's approach: it doesn't use native controls on iOS, but instead paints pixels on the screen that mimic the native iOS UI (à la Flutter). The results are predictable: an uncanny valley UI that doesn't feel _quite_ right, and that struggles to keep up with the platform conventions. Notably, like Flutter, they won't be able to support Liquid Glass in any convincing form, and so apps built with it are going to be stuck on outdated iOS UI conventions. In short: CMP is native on Android but alien on iOS, whereas Skip is native on both platforms.
That's our take on the difference between the two. In fairness to KMP, they do have some distinct advantages in terms of reach: whereas Skip is squarely focused on just mobile platforms, KMP can target desktops and the web as well. If that is a priority for you, or you already have a lot of Kotlin experience or are invested in the ecosystem, then KMP might be a good fit for your needs. But if you like Swift and SwiftUI, and are happy working with the Apple developer tools, then you should give Skip a try. It really is magic.
I wish there are something for SwiftUI on Windows. I meant to support Windows for Draw Things, but the opportunity cost is too high without proper UI tooling.
The reasoning for making this choice was refreshingly sober and clear-minded. If there was anything that would help tooling reach critical mass, it's turning it into OSS.
I've built with Flutter and React Native a few times over the years, but I will give Skip a go in my next project, I've heard a lot actually.
https://github.com/skiptools/skip
This is cool, but there is no LICENSE file putting this in DONT USE territory.
This has a license: https://github.com/skiptools/skipstone but it vendors the other repo according to the readme? I am super confused about how this would work.
The Xcode build plugin in the /skip repo uses the binary created by /skipstone (which is the repository that was just opened).
Thanks for pointing out that the /skip repo itself doesn't have a license. We'll fix that asap!
LGPL3 has now been added: https://github.com/skiptools/skip/commit/7ad94680a801ca393fe...
You can chill - it was their oversight that they’ve already corrected, not an omission by design
This is great news, thank you. I have been looking into a way to port Soundscape Community [1], a navigation app for the blind to Android without having two codebases to maintain. Skip looks ideal; I was planning on asking you about licensing for a very small team with almost no funding.
Someone else already asked about talkback accessibility; I assume it will work because it translates to native UI controls on android. Is that correct?
[1] https://github.com/soundscape-community/soundscape
Yes, as I just responded there, Skip uses the native toolkits and conventions on both platforms: SwiftUI on iOS and Jetpack Compose on Android. So you automatically get the platforms' built-in accessibility support.
You can see a sample snippet at https://skip.dev/docs/components/accessibility/
This is a welcome addition but why should Flutter devs use this ?
Seems like it requires 32gb of ram! Also Flutter is already very mature and can produce not only near-native mobile apps (the difference is almost negligible) but can target desktop and even web applications.
I do wonder how much of a boost skip offers vs Flutter's mobile apps. Will give skip a try when dram prices normalize.
Dunno about Skip, but I can always tell when an app is Flutter. They feel like crap. Everything's a bit off with the native looking widgets. And fully custom designs still animate a bit weirdly. And they definitely still stutter. Somehow a tier below React Native.
Flutter re-generates the entire layout every tick and diffs it (immediate-mode), like a game engine. If your device isn't quite fast enough it'll lag, yep. RN is retained mode (but written in immediate-mode style and the diffing only happens when it has to).
See my response below on the KMP question: the comparison with CMP mostly applies to Flutter as well.
> near-native mobile apps (the difference is almost negligible)
Not as of the advent of Liquid Glass on iOS (and, to a lesser extent, Material Expressive on Android). Flutter isn't going to be implementing these new interface conventions[1], and so the UI for these apps are stuck on the last generation and are already starting to feel outdated.
Flutter's grim outlook has resulted in a surge of interest in Skip, and it was one of the drivers for us to open up the platform and catch the wave. If you love Dart, or if your apps don't need to look native (e.g., games or very bespoke interfaces), then Flutter might continue to be acceptable. But everyone else is starting to look elsewhere, especially in cases where their business depends on their apps feeling premium and native.
[1] https://github.com/flutter/flutter/issues/170310
Flutter still doesn't support liquid glass on iOS so it doesn't seem like a serious contender to me at this point. And due to the nature of how Flutter is implemented, it's going to continuously be an uphill battle. Maybe it's fine if you intend on having a completely custom UI and don't care about platform look and feel.
In general, the "render UI as if it were a video game" route feels like a bit of a dead end on mobile to me. On desktop it's more workable but still isn't without issues.
"At least 32GB of memory is recommended for development with Skip."
Dear lord, what?
Well, you're running both the iOS development tools (Xcode, iOS Simulator), plus the Android development tools (Gradle, Android emulator, and maybe Android Studio too). These add up.
16GB might be possible, though.
(Skip itself doesn't take much memory. If you run it headlessly as a SwiftPM plugin, you wouldn't need nearly that much.)
Ah, yeah yeah, not meant as slight towards Skip (seems like a cool project). Just me being offended by the plain content of that sentence.
Do you have to run both at the same time? Because my flow with React Native is to focus on one platform at a time, I don't try to run everything in one shot.
No, you can configure it to just build and launch for iOS or Android separately. But we do recommend iterating on both in parallel for most of the UI work, just to make sure that everything stays in sync.
For framework/library development, you can of course build and test separately for each platform.
IDEs targeting mobile development saw the bloat in FPGA IDEs and said "we can beat that".
I assume that’s for the development phase, not (necessarily) for apps developed with Skip
Likely because it uses both iOS and Android toolchains plus its own transpiler (with Skip Lite) or other overhead with Skip Fuse. iOS alone is already challenging with 16GB. Don't blame Skip for this - it's on Apple and Google for not shipping memory-efficient tooling, which shouldn't be a surprise if you've used their software.
This is amazing! Thank you for open sourcing the project. It must have been a hard decision.
Thanks! It has been a long time coming.
As we mentioned in the post, developer tools really need to be freely obtainable in order to gain mass adoption. In that sense, it was an easy strategic decision. And we felt that the time was right, given that Skip's benefits are being thrust to the foreground in light of recent developments.
You should really consider why free software exists. Open source is open source, sure, but it is a disservice to your users to ever release proprietary software for any reason.
I personally would not start or run a business that didn’t release all software it builds under free software licenses. We don’t open source it because “developers expect it”, we open source it because it’s the right thing to do by your users.
Free software is an ideology, not just a license.
Funny, I had lunch with RMS yesterday and he said almost exactly the same thing.
> Free software is an ideology, not just a license.
Yes and people shouldn't enforce ideology on top of each other. I am speaking this as an free software advocate too.
the fact of the matter is open source is still barely fundable and I am pretty sure that they evaluated multiple decisions to come up to this regarding how fundable it is and other factors.
If we have to indoctrinate someone into our ideology, it means that our ideology is unable to gain weight by its own merit. No, let open source do the work and welcome people for who are now open source. Have open arms to everyone who open sources their work & incentive them to do so with a happy heart.
Open source is about freedom. And being honest, If they wrote the code themselves, then its their freedom to have it in open source or not.
I for one, welcome another great open source! Thanks for going open source and Good luck to skip in future!
I know Open source has some issues regarding funding etc. so I hope that people donate to skip & make the project sustainable!
Have a nice day skip team!
I don’t open source my iOS apps that provide my living because there are many examples already of others using this to release identical apps without credit or sharing their work back (even with AGPL), which would remove my source of income that enables me to work on it in the first place. I haven’t found a way to make a living off open source yet for the type of products I produce.
I’m not independently wealthy to be able to afford to work for free. If I release my work for free, then I will have to live on the streets or in a cell, or take a job and lose the time I have to produce my work in the first place.
This is indeed a dilemma, but note that copyleft licenses like GPL or MPL do give you considerably more protection than a pushover license like MIT/BSD. I wrote about this last year at https://appfair.org/blog/gpl-and-the-app-stores.
Shame that the world has to be like this in the first place :<
Perhaps I am way too altruist at times & the world is capitalist without any discrimination, stealing anyone's work and reselling it feels so scummy and I have heard it happen actually so you are not actually completely in the wrong and its your code and your lifestyle and so I respect it. (Even if I am an open source advocate, I will admit making money from Open source is super hard in many cases)
Interestingly, what's your thoughts on Source available licenses. Like, honestly, like use a license which doesn't allow reusing components or providing another appstore release of that or similar
If you use github actions with immutable and other instances, I feel like there is a real way of like verifying that the code written is safe & people can verify it & trust it.
If people want to modify your product, they have to pay you and get in touch with you.
I will take this with additional security context and being able to audit over having nothing in the first place! (Hopefully I hope this might not impact your living either in any way and honestly even if you do this! Some of us would deeply appreciate it)
Something is better than nothing. If even much of the world goes to source available licenses, I feel like the transition to open source of softwares becomes much simpler as well if enough conditions (like people start donating/govts start investing in open source) etc. happen!
Source availability still provides one to that direction & is still overall positive with atleast in this context, virtually zero downsides.
What are your thoughts on it?
If I use Skip to make a cross-platform app, will TalkBack be able to read it to users as well as VoiceOver?
Yes, the unique benefit of Skip is that you are using the real native toolkits on both platforms. So you get both SwiftUI's accessibility support via VoiceOver, as well as Jetpack Compose's support via TalkBack.
That's awesome! My family has users of both, so this might be a convenient way to use a pleasant language to write mobile apps that all of my family members can play with.
Interesting. I used Expo recently and loved the development experience. I also built a simple iPhone app with Swift, and it was a decent experience. I have plans of building another iPhone app and was considering Swift again, which would make me miss building an Android app, but maybe Skip would allow me to do it anyways.
Biggest downside to SwiftUI development is lack of hot reloading. You can use the Inject framework but it’s fragile. This also makes it harder to iterate on with agents.
> The plain truth is that developers expect to get their tools free of charge.
I've run into this too with my own app. I thought people would like a Lua GUI framework that's professional grade and gives you full access to WinAPI via Lua. I was using DragonRuby as my model.
So I wasted a thousand hours making the app and its documentation. Turns out, even after people understood what it was (I suck at marketing), everyone still agreed that whatever it could become or ever evolve into was still not worth a dime.
Now I'm faced with a decision. Do I open source it? I think, no. What's the point? Marketing for my skills as a developer? There's no more need for software consultants now with Copilot/etc. I have to change careers.
Then, should I open source it altruistically? What for? First of all, giving things away for free is not inherently good. One negative side effect is teaching people not to rely on their own industry. Another is that they may use it for evil. And then, it feels like such a waste to let the code die out.
But everything eventually goes to waste.
Did you reach out to Lua heavy shops?
> What's the point? Marketing for my skills as a developer? There's no more need for software consultants now with Copilot/etc. I have to change careers.
I encourage you to find a way out of this belief, or at least least fend it off as long as possible.
You can see from recent HN postings that most people are not experiencing career-ending levels of performance from LLMs.
Hey! (firstly recognized you from your other post on HN)
Personally I would love the idea of creating a lua application natively. You don't know how much I wanted it now that you mention it.
I remember looking for such solutions,finding none, then I even thought of using kotlin apps with lua integration but didn't like the idea of learning kotlin
For some reason, even though I have only played just a little bit with lua, there are tons of options which compile down to lua which can make it really powerful too and so for the end developer, there are tons of possibilities and it starts out being so simple!
I think the problem with lua was that there is a lack of libraries & projects regarding it so this might actually help it
I have another question tho and I'd love it if you can answer it.
Is there any way that I can write a cli application in golang or port it to something with just glue code being lua and using it for android somehow?
I don't want to create an android application in golang itself for what its worth because I find the primitive a little lacking (what do I use, wails?)
I have heard people use python kite or something iirc which looked good but python-go support isn't the best & i dont even know if its on android
If you can actually provide lua as the UI/UX support (I am imagining something simple but powerful) with code being allowed in other languages where I can get some powerful libraries (golang), I would be super interested in it.
Regarding Open source, I would personally trust the project a lot more if this was open source.
That being said, I understand the worry of changing careers/consultancy/AI marketing because I am still a teenager in high school. I have anxiety because I have an exam for the colleg ein 2 days, I am a bit cooked haha but I guess I just gotta try
Your fears are valid and somehow I imagine you in a position wayy similar to raylib & I remembered this post.
https://gist.github.com/raysan5/04a2daf02aa2a6e79010331f77bf...
Honestly, what are your thoughts in teaching at a college about app development with lua, I mean I am a teenager and I would die for such a course!
Although I was never into roblox, some of my friends were and they treat lua as the holy grail because of roblox development and roblox's development community is from what I can gather decently respected especially if you are teen, some even learn lua just for it.
so you can get people who are interested in already having some gui experience with lua (more in a game environment but still) and you tell them that you can make apps with it just as easily? People will be hooked.
Of course there is some LLM but honestly, nobody cares. LLM's wont be able to recreate your project, I am mostly sure of it.
Marketing is something that I relate with too because we never know what the public really really wants.
I mean, I will admit it, We people are kind of hypocrites (speaking from my behalf)
Sometimes we would open source project and want it to be sustainable without paying the devs or donating to them, that sucks. Some of us just want open source for ideological reasons and um, honestly, I will admit it. It's your code, do what you want it, you built it and you should be proud of it!
We can only give suggestions but I recommend you to create some video of the project so that I can see it.
App developments are fucking nightmares. I had even thought of using godot just to create app development. Any new solution provided decent enough can absolutely help.
Personally I believe you should wait for some time & try to write a blog post about it. I want to hear all the nerdy details!
Create a show HN post, I saw tomhow mention to me how much of the audience wants originality and the idea of "aha moments"/something novel. Provide us with knowledge of what aha moments did you discover during building this, I am soo curious myself!
Good luck man and I genuinely hope the best of luck for you man! Just message me whenever you feel like it or mail me, Will try to respond to ya if you ever need my help (I don't think so but I'd love to playtest what you are mentioning too!)
Oh yea just a teeny bti suggestion adding on that golang one, can you just make it so that I can have a very simple and easy/fast way of compiling golang cli applications into gui android applications with lua code. I personally want this so bad because there are soo many good and lovely open source golang cli and I wanted to be part of f-droid by creating an application gui for some golang cli tool we might use but it felt sooooooo hard that I gave up. (Yes I even used tauri and ended up waking up till 5 am debugging)
The pain point's definitely real and LLM's won't be able to make this. Only the people like you who are truly passionate about such projects can make it. It's a unique project and you should be proud of it and I hope that the project has a good future!
I just started to learn Kotlin, how does it compare with Kotlin Multi Platform for those that used both?
Good question. I'll try to answer as objectively as possible, despite my bias towards Skip's approach.
Kotlin Multiplatform (KMP) enables you to target different platforms with your Kotlin. In the context of mobile apps, it allows you to compile your Kotlin to a native framework for iOS, so you can reuse your business logic. On iOS, the Kotlin is running in its own little garbage-collected runtime, but it sets up a bridge to Objective-C and Swift, so the iOS developers can communicate with it from their apps (the interface of which will typically be written separately for each platform). It is neat technology, and Skip integrates with it[1]. We were on their Talking Kotlin podcast in 2024 talking about it[2].
When targeting just the shared business logic and not the UI, Skip is, in some ways, the inverse of KMP: whereas they let you share Kotlin logic between the iOS and Android app, Skip lets you share the Swift logic. Skip operates in two different modes[3]: Skip Lite and Skip Fuse. Skip Lite is the original version of Skip, and transpiles your Swift into Kotlin. Skip Fuse is a later iteration and resulted from the formation of the Swift Android workgroup[4], of which we are founding members. In both modes, you can share your Skip business logic layer between multiple apps, and this is a popular application of Skip (e.g., see this talk at NSSpain[5]).
So that's the story for shared logic. Now onto the user interface part:
While I mentioned that Skip _can_ be used just for sharing business logic, it really shines when you build your whole app with it. You write your app in conventional SwiftUI, and Skip will translate it into the equivalent Jetpack Compose (which is now Android's official recommended way to build apps). Launching your app from Xcode will bring up both your iOS app in the simulator, and the equivalent Android app in the emulator. It is designed to be a single vertically-integrated app creation solution, and enables a single team (or a single developer) to iterate on both platforms at the same time, without any of the coordination overhead of building two separate apps for the two platforms.
KMP itself doesn't have an equivalent, but it does have a sibling project "Compose Multiplatform" (CMP), which is built on top of KMP and sort of does the opposite: it lets you write your app in Kotlin and Jetpack Compose and run it on iOS. But the way that it achieves this is different from Skip's approach: it doesn't use native controls on iOS, but instead paints pixels on the screen that mimic the native iOS UI (à la Flutter). The results are predictable: an uncanny valley UI that doesn't feel _quite_ right, and that struggles to keep up with the platform conventions. Notably, like Flutter, they won't be able to support Liquid Glass in any convincing form, and so apps built with it are going to be stuck on outdated iOS UI conventions. In short: CMP is native on Android but alien on iOS, whereas Skip is native on both platforms.
That's our take on the difference between the two. In fairness to KMP, they do have some distinct advantages in terms of reach: whereas Skip is squarely focused on just mobile platforms, KMP can target desktops and the web as well. If that is a priority for you, or you already have a lot of Kotlin experience or are invested in the ecosystem, then KMP might be a good fit for your needs. But if you like Swift and SwiftUI, and are happy working with the Apple developer tools, then you should give Skip a try. It really is magic.
[1]: https://skip.dev/blog/skip-and-kotlin-multiplatform/
[2]: https://talkingkotlin.com/going-from-swift-to-kotlin-with-sk...
[3]: https://skip.dev/docs/modes/
[4]: https://www.swift.org/android-workgroup/
[5]: https://www.youtube.com/watch?v=EIGl6GOo210
I wish there are something for SwiftUI on Windows. I meant to support Windows for Draw Things, but the opportunity cost is too high without proper UI tooling.
Note that Swift/WinRT by The Browser Company does not qualify, as it’s one layer too low (directly exposes the Windows framework): https://github.com/thebrowsercompany/swift-winrt
However it seems like it could be a good basis for such a project.
Closest thing is SwiftCrossUI. Maybe Skip will come to Windows one day.
The reasoning for making this choice was refreshingly sober and clear-minded. If there was anything that would help tooling reach critical mass, it's turning it into OSS.
I've built with Flutter and React Native a few times over the years, but I will give Skip a go in my next project, I've heard a lot actually.
What big/famous apps are using Skip?
Welp atleast they make it more easier for us non-Apple Developer to make an App