Is there anything in Silverlight 4 that's comparable to Adobe AIR 2's beta Native Process API? I need to be able to call native executables on different OS platforms and can't seem to find any easy way to do this.
Doesn't seem like it exists for now.
Related
i am right now exploring the capabilities of Monotouch (by Xamarin) with other solution such as
Monocross?
So can any one explain when to use Monotouch and when to Monocross.
What is the advantage & disadvantage of these framework w.r.t native app development?
Just to try to add visually to Stephane's answer, here's a diagram slightly adapted from one of my presentations:
Note that you don't have to use a shared library like MonoCross, MvvmCross, etc. You can always write your own architecture. This is like in web apps - you don't have to use WebForms, ASP.Net Mvx, FubuMvc, etc - you can just use Request and Response and talk more directly with the web server.
So, you can just write your own code to adapt your app to each platform like:
Which approach you should take - depends on the requirements of you and your app... and on personal opinion too.
Monocross is a cross platform MVC framework. As a framework, it's open source. But you need either monotouch or mono for android in order to deploy on the devices.
Those 2 stuffs doesn't compare. They sum up.
With tools like Monocross or MvvmCross, you really get a crossplatform code sharing framework, and that's your advantage over coding in native languages.
I am new to smartphone application Development, I have worked with .NET web and Windows Forms applications and only used the C# language.
I am planning to make a simple application which can run on all mobile OSes, like BlackBerry, Windows Mobile, Android phones, iPhone, etc. On searching I found that all have different OSes and uses different languages. I can use the C# language and .NET since I am aware about it. After some thinking, is it possible to make a web-based application using normal website coding but make it work like an application?
Please suggest some method to make a application which is possible to run on all smartphones. What technology or tools can be used for developing it?
The best approach to create truly cross platform app is to use HTML5 and JavaScript. All the other options will be painful. However, of course you can't access all the features with these web applications.
One interesting framework for creating HTML5/JavaScript based apps is PhoneGap (http://www.phonegap.com/). It has quite many API's available and wide support for different platforms. (Note that browser performance varies between devices so make sure not to add too much effects and glitter)
For native apps, there's no that many frameworks but one interesting is MoSync (http://www.mosync.com/)
There can be multiple approaches to create a Cross Smatphone plateform apllication.
If you want to code just once and want to to run on multiple enviroments without any change you must go for some javascript/HTML5 bassed solutions. One that I work with is NGCore. It is a development framework that allows games to be authored in JavaScript but with native application performance by leveraging ngmoco's ngCore libraries.
Other approach that will best suit your needs is to go for a Environment like MonoTouch. Its C# based and AFAIK you can use most of the .net API in MonoDevelope. It lets you reuse most of your code on another environment.
I have been a SQL writer using MS Access some years ago and have been given an IPad upon my retirement. I want to create simple database driven apps using SQL. I have downloaded SQL Lite editor from the Apps Store but it seems to have a big chunk of something missing.
Question. Do I need to have an Apple computer as a workstation and then copy to the iPad, or can I use my Windows 7 PC as the authoring tool.
Where do I find the tools for creating the graphics to enhance database search results?
Do I need to use C or C++ to create the application, as I never got around to learning it.
Odd questions I know, but google searches seem to leave me totally in the dark on this topic, yet I geel that most app's seem to revolve around some database manipulation. Would be helpful if I could find a series fo links somehwere.
best regards
Kaela
Hi
In order to develop native applications to ios devices you need the XCode environment and knowledge in objective c, its a bit odd and there are examples.
for that you will need a mac or run the mac os on a virtual box.
You can also create a non native app such as webapp using HTML5 and js and then import it to the XCode using Phonegap.
By using this method you will be able to create apps for many devices such as android and more and all you will have to do is to import your HTML5 and js into the supporting environment.
Just to warn you about these kind of apps, app store allows only native apps and its better to make native app because it will pass every inspection they make.
Thanks
yes, to develop on Apple's engine, you have to had an Apple computer. However, you can mount a virtual machine running OS X, but it's illegal and very complicated (but doable).
The "bible" for mac developers is here : http://developer.apple.com/.
It's recommanded to write your application in Objective C.
I have a Symbian 9.1 handset, Nokia E65, based on Nokia S60 series UI. I'd like to build a simple, full screen, graphic application. It should be able to display some text and pictures and have a basic interaction from the keyboard. That's for me only, not to be deployed.
Now, what do you think is the quickest and most painless way to have it done?
I have the following skills:
- HTML, PHP, ASP.net, JS
- ASP.net and C#, Silverlight
- Java, but mostly for networking, not UI
- Some C++
I have downloaded the Nokia IDE, but it is scary at first sight :)
Any tutorial or example are welcome!
Edit:
In particular, two questions:
is there a possibility to make a stand-alone flash application for that handset?
how about the QT mobile version?
For your device, definitely use Python for S60. It is much easier to start with than Symbian's C++ SDK and in case you ever need more low level functionality than python gives you, you can write small modules in c++ and use them in your Python program.
For a simple application like the one you are describing, Python will do just fine. You don't even need any of Nokia's IDEs / tools on the PC, you can just write the code in any text editor, copy it to the phone and test it live.
As others have mentioned, other options include:
Symbian C++ SDK : As you have discovered the tools and not the most intuitive to work with, development is not straight forward either.
Nokia's WRT : Using javascript/css/html, but it is not available for your phone.
Qt : Not available for your phone.
Java Me : Probably your second best option, your code will be slightly larger but more protable. The tools are not as straight forward as with Python, but definitely not as complicated as with Symbian.
If you think you may like to do some further development on the Symbian platform in future, I'd strongly suggest looking at Qt. Unfortunately, however, you can't use it on your E65, since Qt requires S60 3.1 or higher. (The E65 runs S60 3.0).
Since Qt coding in done in C++, you also have access to native platform APIs if required. For most apps however, the (considerably more user-friendly) Qt APIs provide all the functionality you need.
Depending on your background, the learning curve may be steeper than using Java or Python, but the pay-off is that you get access to a very powerful toolkit. And of course, as long as you use only Qt APIs, your app should be easily portable to other Qt platforms if necessary.
Go for Java ME.
All the things you list in your post is possible to do in Java.
The Symbian SDK for C++ can be downloaded here.
NSBasic is another option.
Kindness,
Dan
May I suggest Python? For newer Symbian handsets I'd recommend Web Runtime (WRT), but it is not supported on good old E65.
I'm obviously biased but I would suggest getting the 2D graphics example code from the "Quick Recipes On Symbian OS" book:
If you know HTML and JS already, you should be able to write a Web widget for your Symbian device pretty easily, using the tools available through Forum Nokia. More info here:
http://www.forum.nokia.com/Technology_Topics/Web_Technologies/Web_Runtime/
These widgets are standalone full screen applications that use the device WebKit browser engine for rendering and UI. You can also use keyboard inputs and customize the softkeys if you wish.
I may want to create a RIA but am wondering, whether Adobe AIR or Titanium is the way to go.
Do you think the open source version will last longer? Will it be better in anyway?
Just in case anyone comes back to this post, I'll add my 2 cents.
Titanium has come along way in the last few months. It now has support for Ruby and Python. You can code your own modules in C++ (eg, IRC) and compile Titanium to have support for that module (Or you can code modules in Py/Ru/JS).
You can use flex, flash and silverlight all within Titanium. All have been tested and work without a hitch :)
Although AIR isn't open source yet, the technology stack it's on (Flex, Webkit, etc) is open source. Titanium definitely looks promising but has no where near the momentum and support AIR has yet. Until it's been actually released and has several production apps running on it I wouldn't bet too much on it.If you're looking to get involved in an open source project and actually work and help develop it that's something else...
Just to clarify, AIR lets you use HTML/js to build your apps as well.
Neither, as both technologies are for creating desktop applications not RIAs.
Now if you were to ask how should you build your RIA... so that when, if, it comes to a point of you making a desktop version, which technology should you use, Flex or Javascript/HTML?
The answer becomes obvious once you decide between Flex or Javascript/HTML. If you do Flex then your desktop application will be in AIR; If you do Javascript/HTML your Descktop app will be in Titanium.
My suggestion, go with Flex - Air. Both are environments where State is made easy. Flex are written much like client (desktop) applications anyway as they have state.