Just starting to play with FM after almost 20 years of VCL, so please bear with me... What makes an XE5 application mobile vs. FM HD?
I cannot add OSX target to a mobile project (even though Win32 works), and I cannot add iOS/Android target to a Win32/Win64/OSX project.
From what I can tell the same units are referenced, so why can't I have a single project for all supported platforms?
Thanks!
You cannot add desktop mobile target to mobile. The main reason, because desktop platform have more space of screen and has another ideom of building UI. So, of course, you can make window UI on mobile device, but it is not conveniently for using and doesn't respond mobile UI Guildline doc. Also Apple guaranteed doens't apply your application into App Store.
However, you can create two project with one code base.
Create Mobile project
Create Desktop project
Separate buisness logic from UI
You can create custom form for each projects or use exists (Only add your common form to mobile or desktop projects).
Thank you
I cannot add OSX target to a mobile project (even though Win32 works), and I cannot add iOS/Android target to a Win32/Win64/OSX project.
Different project types have different backend dependences. It does not make sense to allow OSX in a mobile project, so it is disabled. It does not make sense to allow iOS/Android in a desktop project, so they are disabled. The only reason Win32 is allowed in a mobile app is to help facilitate local testing without using a device/emulator, but you should not deploy without doing some device/emulator tests first.
Related
I'm a young flutter developer and I would like to understand, why we use this command
flutter config --no-enable-web --no-enable-macos-desktop --no-enable-windows-desktop --no-enable-linux-desktop
while we can create the binary file by writing the command :
"build platform-name"?
moreover, if flutter was designed for cross-platform applications starting from a single code, why do these engineers always allow us to use this command?
and from what I've read, the command can only be useful if, flutter doctor finds problems or missing components for a platform you don't want to develop for. but, I also say to myself, that I can use this command, in this following:
-- if I only want to develop an application for mobile (android and ios), then I don't need other platforms and vice versa so that it can lighten the files.
unless, when we decide to build according to any platform, the build system manages to recognize the if....conditions that we place at certain levels of the codes in order to specify the nature of the platform for insert, the design that suits it, and according to the user experience when we develop for all platforms. from the same project.
because me, I think that, if the developer, finished developing his project on a platform such as (android and ios) and later thinks of developing this same application for the other remaining platforms, he can create a project of the same name and given that his backend (if of course his project has any architecture) of his first project is cross-platform he can simply copy and paste this backend, then focus on developing the frontend side according to the platforms (Windows, Linux, macos and web) always according to the perspectives of his project.
Hence the weight of the files will be controlled, in order to make the build according to the fluid platform.
Basically that's what I think, so , tell me more about this command in order to use it better and to be able to manage my architectures according to the platforms. thank you
I want to create a Android Application.
Altough I want to use HTML5 for creating that application.
Later on I even want to get the application to multiple platforms like for Apple.
I have tried Eclipse but couldn't get it to work.
When I create a new "Project > Web > Dynamic Web Project" I can't export this into a Android Application.
PhoneGap looks interesting.
Although I'm not sure how you can create a .apk (for android) there.
Or should this work together with Eclipse?
Could anybody give me a headstart?
What Application should I use to make a HTML application?
How do I create a .apk file?
Thanks in advance.
If you really want to dive right into developing with Phonegap, you can try out Telerik's AppBuilder (http://www.telerik.com/appbuilder). The demo project uses KendoUI Mobile (which I can also recommend) is comprehensive enough for anyone. As far as I recall you can use it for free for up to 2 projects.
There is also Intel's XDK (http://xdk-software.intel.com/), which is completely free - but the simulator and deployment features aren't as far developed as Telerik AppBuilder's are.
I strongly recommend AGAINST doing it the "real way" with eclipse/xcode if you have no prior experience with developing native android/iOS apps.
Start with the following project:
http://code.google.com/p/html5webview/
This will give you a good start. You can download it and import it into eclipse.
Phonegap does create an APK.
Essentially what Phonegap does is present a WebView and a simple API for calling native methods on the respective platforms. This allows you to write the same app and deploy it on multiple platforms with minimal or no changes. The majority of what you would do in Phonegap is set up the projects to pull in the cross-platform libraries.
The major limitations come from lack of access to native UI components. As you progress in app development you may find that it's a significant limitation. I rarely build HTML5-based UIs anymore, and instead go with native apps.
There are other cross-platform frameworks out there as well. Here's an article describing some pros and cons of each:
http://www.developereconomics.com/pros-cons-top-5-cross-platform-tools/
I have an iPhone application (with an android counterpart), developed in Xcode and written in Objective-C. It is a classical native iOS app, already working and uploaded in the App Store. Similarly, the android version is built with Java and linked with the android SDKs. It's uploaded to the market place.
I was asked to port the app to Windows Phone. Is this possible without modifying the code?
I am not familiar with Windows Phone dev, however it looks like that is a completely
separate ecosystem for developing apps (different programming language, different IDE, different app store etc).
Can I go from Android to Windows Phone or from iOS to Windows Phone?
PhoneGap - or similar platforms - are not options since the code is already written in Objective-C and Java.
Like iOS and Android, Windows Phone is a completely different operating system and currently requires a completely different development platform.
It is not possible to take the existing code and make it function on a Windows Phone.
iOS commonly uses Objective-C for application development . Even if there was a way to compile Objective-C onto a Windows Phone, it would be inherently tied to platform features, and UI controls. While you could write some code in C++ and share it, with an iOS application, you'll still need some in Objective-C.
Android applications use Java normally. Java is not available for the Windows Phone platform. So, the language is out. Further, like iOS, the platform features are not necessarily shared and the UI control and behaviors are different. Android applications can use C++ (if you happened to code using it), but it has limitations, and by using it, again, you'd be tying the code to the Android platform potentially. Some code may be portable.
Windows Phone applications are usually written in C#/C++ and XAML or DirectX. While there is some similarity in languages (Java and C#), you'll encounter far more platform differences that could need significant effort to convert. From the way network requests are made to handling threads will be different (and many many more). Objective-C is also very different from C++.
Unless you had used something like Xamarin and written the underlying business logic using a common platform (C#/.NET), you'll need to consider a port to Windows Phone a fresh start.
It's not possible to just reuse all of the code that's been written. With a careful effort, you could share some common code (if it were written in C++), but as the shared code will not directly work with UI (and other platform features), you'd still need to do the UI on each platform, work around limitations, and potentially customize the user experience for each platform.
Microsoft has provided some guidance on porting, and provided some links with an API equivalency table here.
Yes, you can use Microsoft's Windows bridge for iOS to convert your iOS application code to Windows mobile platform code.
You need to use WinObjC SDK provided by Microsoft for this purpose.
Follow this link for more details.
No, you can't, WP apps are build with c# or .net and in visual studio IDE. There is no automated way to port a previously coded ios or android native app built with objetive-c or java to WP.
In my opinion there is no way to directly port a iphone app to windows phone app. You need to develop windows phone app with its needed environment like Visual Studio , windows phone sdk and with windows os.
You can also use cross platform like phonegap if it may fit to your requirement.
It looks like you have an existing Obj-C codebase for iOS, and a Java codebase for Android. No matter how you cut it, you're looking at [re]writing code to get something on WP8.
I don't know how "UI heavy" your app is; in general the UI code is the most platform specific (unless you're willing to put up with "cross platform" stuff that might not have good UX).
You might consider keeping the non-UI code mostly plain C++ and using Obj-C, etc. only for the parts where you have to talk to the framework. It will be easier to support multiple platforms with C++.
I took this approach with an app I'm working on; it's targeted for iOS but it's about 80% C++ (including Open GL). If I decide to port to Android I just need to deal with the 20%, mostly UI-ish code.
I read that using Flash Builder 4.5.1 you can create one application and run it on a mobile device, in Internet browser and in Desktop AIR. However, I created a mobile application and the only option to run it is 'Run as mobile application'. Is it really possible to run the same Flex application in browser and on mobile?
Thanks,
Michal
Is it really possible to run the same Flex application in browser and on mobile?
You probably misunderstood what you read. I think the Adobe marketing is purposely ambiguous on this point.
What people would normally do is encapsulate the shared functionality into a library project and share it between multiple different projects, each with a different publishing target. It is unlikely you'll want the applications to be the same.
Your layout on a phone will most likely need to be different than a layout on a tablet, which will most likely be different than the layout on the larger screen of a desktop / laptop.
That said, I do believe what you want is possible, but not a workflow supported via Flash Builder. You can easily use the command line compiler to compile the same code for different purposes. There are some classes available in Mobile projects which are not available in web based applications; so you have to add those SWCs back into the classpath; most likely the mobile theme and the mobile component set. These files should both be SWCS in your SDK directory somewhere.
You could also create different ANT scripts or something to do the different builds for you.
I have to develop an app for the Ipad. It has to be non-browser based. That's a requirement and I can't change it.
I think it likely that the app would be useful on other tablet PC types and have a good chance of a second app which requires IPad and Android at a minimum; Windows and Linux would also be useful.
If it makes any differences these are "desktop" apps for tablet PCs and it is not envisaged that there will be any handphone development.
Is there a “Grand Unifying Theory” of cross-platform desktop app development? Is there a good IDE, preferably FOSS? I'd rather code C++ or Java and am less keen on Ruby or Python (through lack of experience) but would accept if there is no alternative.
I need a GUI builder, something like Borland Delphi or MSVC or the Eclipse Android plugin and I need a way of executing different code on different platforms (#ifdef Android … etc)
Any ideas, or should I just go ahead and code the current project for Ipad only and stick to browser based HTML5 + CSS3 with Jquery/Ajax for cross platform apps (the problem being that some will need to execute native system calls, like en/de-crypting a file and at least one app has to work in “local mode” if there is so internet access, so I guess I would have to bundle a web server (Apache) if I go browser based (in order to serve the web pages), which would not be necessary with a “desktop app”.
Any recommended IDEs, Web sites? Books? Thanks
The "grand unifying theory" is that core business logic should reside in the cloud; that allows your iOS and Android implementations to be just a thin GUI on top of this shared logic. Unfortunately, there isn't really a way to reuse the GUI, and even if you did, it would go against the intuition of users on one or both platforms, since you wouldn't be using the paradigms of those specific platforms.
Google App Engine provides a way for implementing your core business logic in Java on top of Google's cloud computing infrastructure at reasonable costs (development is free, cost is proportionate to usage, and one can put caps on how much one is willing to pay). There is an Eclipse plugin for developing App Engine applications. When developing for Android, you will similarly want to use Eclipse (there is a plugin specifically for Android development), although the Android SDK can be used just from the commandline (which is good for setting up a continuous build and test system).
For iOS, you will want to use the standard Xcode and the iOS SDK. Xcode is an IDE, but it is possible to build Xcode projects directly from the commandline using the xcodebuild command (also good for continuous building). The standard language for iOS applications is Objective-C.
You should take a look at jQuery Mobile. I used it to cross develop between Android and Playbook. I know that it also does iOS.
Maybe for you the downside is that you have to program in JavaScript.