LabVIEW - mobile applications - mobile

As far as I am concerned and what I've already implemented there is a way to cooperate somehow with mobile apps such as sending some instructions between mobile and LabVIEW instruments but...
Is there any way to implement mobile application with LabVIEW ?
I suppose that officially not, but what about some external frameworks such as LabVIEW hacker toolkit ?

I've never seen anything that allows you to create native apps. The usual solutions other than data dashboard are using web technologies:
Write a html page that LabVIEW can host that can load on the mobile device and use http or websockets for communications. There are some toolkits to automate this for example LabSocket (though not sure how much mobile testing is done with it).
Remote viewing technologies. I saw one the other day called wezarp which works on mobile.
All of these depending on a Windows based application that you are talking too though. I'm afraid natively I don't think anything exists and would be very hard to implement as you would need to play with the LabVIEW compiler to cross-compile to objective-c, java or javascript.

There was a way: NI LabVIEW mobile module which worked for windows mobile. You would program an app in LabVIEW, compile it and load onto your Windows phone. I recollect it worked pretty stable. The solution is not recommended for new projects
For dashboard style panels, there is Data Dashboard for LabVIEW Android smartphone version allows you to view only. (tablet version allows you to exercise limited control options) Also available for iPhone.
Something available here for select devices only

Related

Should I still use Silverlight/XBAP

We need to create an application that can be used via the browser but that can also be used while offline.
The browser Version will be used by our customer to do calculations. Each customer needs to log into the application with a username and Password.
The offline version will be used by our own employees. They need to be able to use this Version while not connected to a Network.
The data that is needed for the application will be stored in XML files.
We are mainly programming with C# and the .NET-Framework. We thought about using WPF for the client version.
I have read that you can use Silverlight or XBAP to create a browser Version of the WPF application. AFAIK Silverlight is a dying Technology. How about XBAP? Would you still invest into this Technology?
The other solution would be to create two front end applications: The WPF application as an offline application and a web application (e.g. ASP.NET MVC) as a web application. Thought, this would mean that we would have to create two frontends (more work).
Is there another alternative?
Would it be better to create an HTML/JavaScript application (e.g. with AngularJ or something similar)?
As a former Silverlight Developer I can only recommend not to use Silverlight for new application development. Microsoft has suspended the further development of Silverlight and you will not get any new features (only security fixes). I really liked the technology and the similarity to WPF but for me it is deprecated.
Even some Browsers (like Chrome) do not support Silverlight anymore and you need a workaround to get it running (See also Chrome doesn't support silverlight anymore? How to solve this?)
Develop a Backendsystem that provides a REST-API (using ASP.NET WebApi as an example) for your clients and develop a Browser client application using modern HTML/CSS/JavaScript Frameworks. If needed/required a desktop application using WPF that consumes the REST-API.
Silverlight may be dying, but that does not mean you should avoid using it. Silverlight is still a viable technology that you can use, however browser trends seem to be phasing out Silverlight support. As far as I know, Microsoft Edge browser is no longer supporting Silverlight, so you will need to use Internet Explorer. This isn't the end of the world, but it's something to think about.
As for WPF, this too is being replaced by Windows Universal Apps, albeit slowly. However this isn't too much of an issue as the skills you have learnt in WPF are easily transferrable. WPF itself is not receiving as many new features as it used to, you could say it's finished.
It isn't always easy to keep up with the latest trends, and there will always be something cool and hip just around the corner, however one thing is for sure, the .NET Platform, including the new refactored Universal App APIs are here to stay, and won't die any time soon.
The current trend sees Web Technologies, such as ASP.NET playing a much bigger role than traditional desktop/tablet/phone applications. I would say that developing for a web browser is certainly a popular choice.
That being said, Windows Universal Apps is also a good choice, in fact, any technology that makes use of the .NET Framework is ideal.
As for my recommendation, I would suggest looking into an ASP.NET web application or Web API to which a desktop application, such as WPF (still a viable technology for enterprise applications) or Universal Windows App can hook into. An ideal scenario would be that both applications share the same back-end code, which is certainly possible as they both use the .NET Framework.
For your requirements, it may even be possible to avoid having to create a desktop application altogether, a web application can be hosted on a machine on the local network and clients can still use the web app. This is assuming that these clients don't have internet access of course.
TL;DR: .NET is legit, use ASP.NET.

Does silverlight really solve browser compatibility issues?

I'm planning web application and considering silverlight as development platform. Will it help to solve browser compatibility issues? The app intended to be used on desktops only (no mobile).
Yes, it will solve browser compatibility issues, and could work on both Mac OS and Windows with the very same code.
The only drawback is that, the first time your user connect to your application, he will need to download the Silverlight plugin.
Awesome you would say? Well, unfortunately some people that probably never try to do something like image processing or advanced line of business application in a browser decide that plugins are not so cool and that you would be able to do the same thing with the magic power of HTML5.
We are still waiting to have the same possibility in HTML5 that we have in Silverlight or Flash, but plugins are already dead. At least as long as no big compay want to push them again.
So, my advice would be: don't start a project in Silverlight. You will have problems, even if you do not target mobile. For example it becomes harder and harder to find compatible good tools (like ReSharper, NCrunch, or even just a decent unit testing library). And in further release of Windows and Mac OS, it will probably not be supported at all (IE for Windows RT already does not support Silverlight).
Sorry man, Silverlight is dead, you arrive after the battle.
If your developing your application for an Intranet, I would say Silverlight is an excellent choice.
If you are developing for the Internet, use an HTML based language

Best program for making app for mobile (android, iphone and others)

i try for a few time now to make app for mobiles with appmobi XDK phoneGap XDK from appmobi, sencha and appcelerator but except iphone where the app works ok in android mobiles doesn't work well. Any other program except these or any tricks for make it work better in android and in others?
any help it will be very important
thanks
Actually i want to avoid that.I want to build for all mobiles together in the same time.That's why i used that programs. I don't known a lot of thinks and i am looking for a simple way to do that. I want a way which i can read about it on internet and i can find thinks because except jquery mobile i can't find for any other library. So did anyone known how i can find the best way that's my question.
thanks for your time and your answer.
Not sure why you're asking for a "program" and then referring to some technologies/tools (Appcelerator, PhoneGap, etc).
Anyways, I've been developing cross-platform mobile applications in the last few months using Appcelerator for almost everything. However, they technology you'll choose also depends on your needs.
There are three kinds of mobile development these days:
Native Mobile Development: Using Objective-C (language) + X-Code for iOS and Java (language) + Android SDK for Android, etc. You can always choose something like Appcelerator if you're targeting multiple platforms, as you mentioned earlier. Good for: Performance, Native capabilities (using the camera, for example). Recommended Tools: Titanium Appcelerator.
Mobile Web Development: If you have only web skills (HTML/CSS/JavaScript) you can always make your web application mobile-compatible, using tools like jQuery Mobile or Sencha Touch. Recommended Tools: jQuery Mobile, Sencha Touch.
Hybrid Mobile Development: Using web technologies for your application (you'll be loading a web page), but using a native application (a web wrapper) for making the application Native (and distributable) across the Play Market or AppStore. Recommended Tools: PhoneGap, Trigger.io, or you can even use Titanium Appcelerator and use a Web View Component
How you should take a decision?
Do you need native capabilities (use the camera, accelerometer, etc)? If you, you need to go either native or hybrid.
How many platforms do you plan to support? If it's only Android and iOS, then you can use either Appcelerator or make it native. If you're planning to support more platforms PhoneGap or a Web Application sounds more reliable.
Do you plan to deliver your application through the AppStore/Play Market? Then you need to make it native/hybrid.
Note/Recommendation: By reading your question I noticed that you're really confused on mobile and programming stuff. Before going so far, you should take some time in reading more about overall development.
Perhaps not exactly a program but what can be quite convinient(based on your application needs) is to make it a webapplication. Then you can use libraries such as Jquery mobile to adapt the website to the mobile platform as well as incorporate technologies only available on smartphones, such as swipe, orientationchange etc. Then you can make a simple Webviewer for androind and iphone which can be made seperately.
You can look at Kendo UI
kendo UI mobile have support for : iOS 3.0+, Android 2.0+ and BlackBerry touchscreen devices.
What i really liked about it is native-like UI experiences for end users automatically on same code base for different OS.
You can check demo , change OS using OS SIMULATOR MODE
I am not associated with Kendo.

Chat client on Mobile

We have to develop a chat client for mobile. The devices should be for the following:
Android
iPhone
Blackberry
Symbian
Windows mobile
Windows CE
Palm
Which technology we should use for the multiple OS computability. We like the most of code common.
This chat client also support the video and audio chat.
Android and BlackBerry: Java
Symbian and Win Mo: C++
iPhone and Palm: Objective C and C
It is possible from to write the apps so that some common functionality can be reused, but it needs careful design. But you are a bit out of luck on this.
I would recommend starting with Java and Objective C implementations as this will get you Android, BlackBerry and iPhone, which have a lot more traction in market than other platforms.
Look at cross platform frameworks like PhoneGap - that way you can keep the UI and as much code as you care to port to JavaScript common, then do the remaining in native code.
Currently React Native framework gains popularity as a solution for implementing JavaScript based apps for Android and iOS platforms. Here is a guide for React Native.
JavaScript SDK can be also used for preparing desktop app for Windows via Electron for example.
Since you need to cover a lot of platforms, you might need also a backend solution providing an API option to cover all your needs.
Try ConnectyCube. It has React Native support in its JS SDK and provides API to cover the rest of cases. So, it's flexible enough and you can use it for developing apps for all your platforms.

Multi platform mobile application

I am willing to develop a mobile application. I wish to have something working for android, windows mobile, symbian and blackberry.
Which is the best way to do that?
I had read here:
You could aim to wrap the sections of
the platform specific APIs (iPhone SDK
etc.) that you use with your own
interfaces. In doing so you are
effectively hiding the platform
specific libraries and making your
design and code easier to manage when
dealing with differences in the
platforms.
I was hoping there exists a framework that does this for me, but it doesn't exist or I didn't find any.
I feel that sort of things will make my code harder to maintain and perhaps it's better to have one version for each platform.
Anyone with experience in the field?
Another links of interest:
most-promising-mobile-platforms
long-term-potential-of-iphone-windows-mobile-development-platforms
Does Java not count (in various guises)
Java on Symbian
Java for Windows Mobile
Java on Blackberry
Android Java Virtual Machine
It should be simpler to manage API differences in a consistent language/runtime platform where capabilities can be assessed in-code ... and configurations of code made at build-time.
As much as I dislike Java, it is fairly ubiquitous. As for the iPhone ... apart from it being much hyped and locked down ... you can get Java to run on jail-broken phones ...
What happened to Apple's open and friendly appearance? The cynic-inside knows the answer ;)
You might want to look into PhoneGap (http://phonegap.com/). From their own description page:
PhoneGap is an open source development tool for building fast, easy mobile apps with JavaScript.
If you’re a web developer who wants to build mobile applications in HTML and JavaScript while still taking advantage of the core features in the iPhone, Android and Blackberry SDKs, PhoneGap is for you.
In addition to using JavaScript, it supports JavaScript acccess to native controls and features of the phones (GPS, accelerometers etc...).
There really isn't any magic bullet that I'm aware of. Even within just the Blackberry platform, there are tons of different devices with different capabilities, screen resolutions, etc. And that's just from one, single manufacturer; Symbian and Windows Mobile are likely even worse.
The answer is likely that you should focus on relatively new and consistent platforms (accordingly with very few and all pretty much similar devices), like Android and iPhone OS, if you really want to reduce your code forking and maximize your audience.
My advice will almost certainly change within a few years when there are nine different iPhone OS devices and two dozen Android platforms.
The first question to ask yourself is if you need a native application, if you do not then designing a mobile web site solution should give you the most cross compatibility, failing that I would make a iPhone and J2ME solution (the J2ME can then be ported for Android relatively easily) for the greatest coverage of users
Or investigate Movilizer. Supports iOS, Android, WinPhone, WinMobile, Desktop PCs, embedded devices, ... and many more. It uses a design once run anywhere approach.
http://www.movilizer.com
try out different cross platform dev tools,
Developing cross platform mobile application

Resources