Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
Are there resources on the web which help to get started with native Metro app development with Delphi (Win32)?
So far I found the MSDN introduction, Getting started with Metro style apps, which links to the available API sets, including two native APIs:
Windows Runtime (WinRT) - "A native API built into the operating system.
Fundamental to Metro style apps. Implemented in C++ and supported in
JavaScript, C#, Visual Basic, and C++ in a way that feels natural for
each language".
Win32 and COM for Metro style apps - "The subset of the Win32
and COM APIs that you can use in a Metro style app". Quote:
Metro style apps can use a subset of the Win32 and COM API. This
subset of APIs was chosen to support key scenarios for Metro style
apps that were not already covered by the Windows Runtime, HTML/CSS,
or other supported languages or standards. The Windows App
Certification Kit ensures that your app uses only this subset of the
Win32 and COM API.
Side note: the first Metro app contest already closed on January 8, 2012 according to the Metro Windows Store blog and the winners have been introduced end of February - these Metro apps are already available through the Windows 8 Consumer Preview.
Thom Gerdes wrote this blog article on December 14, 2011:
Writing Hello World for WinRT in Delphi
There is relatively little information out there on developing Native
Metro applications, especially for languages other than those that
Microsoft has provided projections for (C++, C#, and JavaScript).
Other languages, including Delphi, need to create their own
projections before they can use them effectively. I've been
investigating getting Delphi to produce native applications for WinRT.
And his article Hello World: Hooking events shows how to use Metro "multicast delegate" event handlers with Delphi.
Sources are available at https://github.com/tgerdes/DelphiWinRT
There are some new blog and forum articles around this topic, pointing to problems with API usage which disqualifies applications from the MS app store:
Why no native WinRT support in Delphi XE3? - quoting a forum post by Allen Bauer
We are very keen on supporting WinRT with native Delphi & C++ code.
Right now, the issues surrounding the WinRT space center around the
fact that many OS-supplied APIs which are required by anyone
implementing their own language RTL are actually off-limits unless
you’re the VC++ RTL DLL. You know, little things like RtlUnwind for
exception processing and VirtualAlloc (et. al.) for memory management…
Any calls to those APIs from your application will automatically
disqualify your application from being an "official" WinRT application
capable of delivering through the MS app store.
See also:
Third-party compilers locked out of Windows Runtime development
On the other hand, this official Microsoft presentation contains a statement that
Martyn (Lovell) made it clear that we not only want language designers and
implementers to add WinRT to their list of target platforms for their
language and toolchains, but we will help and advise.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 9 months ago.
Improve this question
I am planning on building a Lua scripting engine into my iOS game engine to allow AI designers to control the game's AI. The game engine is written in Swift and SpriteKit and targets iOS on iPhone and iPad.
I have been reading lots of conflicting information online about whether Apple allows the execution of Lua scripts inside an iOS app. Does anyone know whether Apple allows this, as of 2022? I have found some answers online, including on StackOverflow, but some sources claim Apple allows this capability, and some say Apple does not.
There seems to be some distinction between downloading and executing scripting code, vs just executing the scripting code. I am Ok with bundling the Lua scripts into the packaged iOS bundle. I'd like to be able to dynamically download the Lua scripts, but it is not a requirement.
Note that I am able to include a copy of the Lua code in my Xcode project, included a bridging header with some Objective-C wrapper files, and can successfully call and execute Lua functions from Swift code, and vice versa. So technically this technique is possible, my question concerns whether Apple allows this.
In addition, in searching for an answer to this question, it appears that very few iOS games support modding. I was only able to find 2 or 3 games in which players claimed it was possible to write a mod for the iOS version of the game, but for even those, it was a little unclear whether the games actually allowed the mod on the mobile version. Mindustry was the only game that I could find in which you could install a mod on iOS. It is unclear to me whether the lack of modding support on iOS was due to Apple not allowing iOS apps to execute scripting code, which would effectively eliminate most games' modding capability, or whether the lack of modding on iOS was just because it's mostly PC gamers who write mods for their games. Mobile gamers just don't get into modding. So if anyone knows of any iOS games that support modding, especially via Lua scripts, could you post the name of the game?
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
As someone who has never developed an iOS app but hopes to soon and has never had a Mac (to date) the whole XCode and process for developing apps was a little lost on me.
To start: things like which languages are supported in development was one area I wasn't sure of:
I've seen C, C++ and Objective-C referenced as the languages used to write the apps. But I've also seen JavaScript` + HTML + CSS and .NET as options and a host of other compiled languages, with people arguing if you can or can't use them.
Another thing I wondered about was Xcode, does it support all the mentioned languages? Or is an IDE built for a specific language such as Cocoa ? If it is, then how would someone use JavaScript for example to write the app?
I'm sure this is a fairly simple answer to Apple users, but I had some struggle trying to relate from a non-Apple background.
Updated
Thanks for the great answers and insight, hopefully other this post will be helpful to others who don't have an Apple / iOS background
All three language alternatives that you mentioned are available to iOS application developers *.
Objective-C/C++ offers a way of making native apps for iOS, you produce machine code that runs on the devices. You use Xcode to develop in these languages.
You can build apps in JavaScript + HTML + CSS because iOS comes with a browser. Apple offers a mode that gives your apps a completely native look and feel, so they do look like first-class citizens.
You can build your apps in C# as well by using Mono Touch. This is different from .NET, although the language is the same, because your code is compiled into binary ahead of time. Although using Mono Touch eliminates the learning curve associated with the new language, you need to go through a fair bit of learning to adapt your knowledge of .NET to a different platform.
* Except Cocoa, which is not a language, but a collective name for Apple's frameworks for developing under OS X and iOS.
iOS' native language is Objective-C. While it's true you can use C++ to make apps (Cocos for example, is mostly written in C++) it isn't the 'native language'.
As for the other languages you mention, while it's possible to create apps using them they won't be 'native' normally relying upon another IDE/Library, phone gap or adobe air for example. Most of these also support cross platform development.
Where I work we also use HTML5 to create a 'faux native' interface/experience.
If you're new to iOS it's worth while checking out Apple documentation/sample code at:
https://developer.apple.com
There is a wealth of knowledge there that should set you on the right path. It ins't however, something I'd recommend if you don't have any experience with object orientated programming.
Coming from a C++ background myself, I didn't find it too difficult but have been working on iOS for about 3 years (on and off) and am only just starting to really become truly fluent in it's processes and conventions.
Hope this helps, let me know if you want to know anything specific.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 9 years ago.
Improve this question
With the technology preview of Android/iOS support in Qt 5.1, are there any news on deploying to Apple's app store yet? Since the non-commercial version of Qt is LGPL-licensed, and dylibs are usually not permitted by the app store rules, there would not to be an exception either on Digia's or Apple's side, however the Licensing talk doesn't provide any up-to-date information on the matter.
So, did anyone try to push a dynamically linked Qt app to the store, or have an official statement of either party?
So, did anyone try to push a Qt app to the store, or have an official statement of either party?
Yes, there are qt demo applications in there. See the following examples:
https://itunes.apple.com/us/app/subattack/id659283830
and
https://itunes.apple.com/us/app/qtquicksand/id666273528
This answers your question and concern I believe. As for further information, Qt 5.2 will even come with more support for this mobile platform. Although, I am not working on this port in the Qt Project, but I see that as a developer that 5.2 seems to support a lot more.
For instance, v8 has just got replaced by the new shiny v4 engine which will allow the proper QtQuick2 delivery for this platform.
That being said, the Apple Store will not allow dynamic libraries for runtime loading, so you will need to link statically.
I don't know of a Qt iOS app that has been published, but I have been looking into this myself. One good thing I found was an iOS preview that was published by Qt which states the following:
"We are very excited to be able to bring Qt to a new platform. Qt for iOS is planned to be a supported part of Qt 5.2, scheduled for release late 2013. The scope of that release is not completely determined: available resources, platform/app store restrictions and Qt legacy set constraints on the project."
The rest of the blog can be found on the Qt site.
That's an official statement, although it's stating that they don't know yet.
I have been looking into the same situation and as of now it seems that you need to have a commercial license to deploy Qt on iOS.
This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
Resources for native Metro app development with Delphi
I've been searching for anything about how to utilize the new additions in Windows 8 in a Delphi XE2 application. Although I know there's the new WinRT API, there has to be some resource of how to actually use it in Windows 8. It should be simple things, like how to customize how the start menu tile shows, etc. I'm sure someone's already taken the time to figure these things out, and I'm trying to find it. The best I could find is This, but no source code.
Any leads on this? I just need some guidelines to using the WinRT API for Windows 8 in Delphi XE2.
Delphi XE2 pre-dates Windows 8 as you know. Windows 8 is not even finalised and the new WinRT is radically different from Win32. There is no support for WinRT in XE2.
Anyone who is using Delphi to create WinRT apps is doing an awful lot of low level hacking. This is not a viable long term approach. Any code you may be able to produce this way will surely be thrown away when proper Delphi tooling arrives. So, in my view, you will have to wait for official Delphi support, or use the MS tools.
Every indication I have, based on my experience in embedded computing is that doing something like this would require expensive equipment to get access to the platform (ICE debuggers, JTAG probes, I2C programmers, etc, etc), but I've always wondered if some ambitious hacker out there has found a way to load native code on a Blackberry device. Anyone?
Edit: I'm aware of the published SDK and it's attendant restrictions. I'm curious if anyone has attempted to get around them, and if so, how far they got.
I've seen this question pop up in a number of different forums over time. The original Blackberries were programmable in C++ but I think that RIM ran up against the problems of trying to implement a secure platform in the C/C++ compile to native paradigm.
The devices do have JTAG ports, but unless one could get hands on the RIM code as a place to start the problem is enormous.
I also have to wonder how useful a Blackberry with a replacement FOSS operating system would be, since it would not likely have the protocols to connect to BES or BIS, send PIN's etc. If one was simply looking for a the power of the hand held computing platform I suspect there are many more likely candidates available.
No, C++ is no longer a supported RIM development tool, as they phased it out a number of years ago. Client applications can be developed in Java (or one of a few 5GL frameworks), and web + sever-side apps can be developed using standard tools.
For those looking for updated information, the new Playbook os, also known as QNX, also known as Blackberry 10 (or it will be when the phones running it come out) is in fact c/c++ based, also using QML and a C++ add on called Cascades.
Unfortunately the official SDK website only seems to mention Java. According to wikipedia, different versions of the BlackBerry use different processors. Combined with the fact that RIM uses a proprietary operating system for the devices, it becomes pretty difficult to develop native code without official tools. There is also a partial API-level security restriction which would further prohibit advanced tinkering.
Just randomly searching for an answer to this and came across http://supportforums.blackberry.com/t5/Tablet-OS-SDK-for-Adobe-AIR/Native-C-C-SDK/td-p/778009 which mentions that BB intend to release a C/C++ SDK soon, more details will be provided at the 2011 Game Developer Conference.