Communication between iOS and OSX - ios

I'm developing a medical record system for iOS and OSX. The idea is to have the iPad devices contain the presentation layer and just a tiny bit business layer, while the actual business layer is running on a Mac OSX machine.
I would really appreciate thoughts on which basic communication to use between the iPads and the OSX machine. Web services? Game kit? Remote objects? The actual data must be protected by SSL.

Your best option is to write a web service and expose an XML API. Then, enforce SSL constraints on all resources and program your iOS device to use the standard HTTP verbs to communicate with the server. Depending on the web platform you select, a number of wrappers exist to help with the communication. For example:
iPhone on Rails

Related

Does anyone know of a way to take an existing MVC Web application that uses IIS and MSSQL and run it on an iPad?

All my searches have turned up nothing of use. I saw mention of UTM but you have to do some shady stuff to get that to work and Merge VM Pro but that only has 5 reviews and 2 say it is a pile of junk.
I can't find any container frameworks that run on iPad.
Most search results are people saying Apple won't let other operating systems run on their devices which certainly fits Apple approach.
Any other legit ideas are appreciated. Basically I have an existing MVC Web app but I need it to work when iPad has no connectivity so can't use it like it is intended with just going to it from a Web Browser. It is a pretty beefy app so rewriting it in some other tech to run on iPad (e.g. Swift, Xamarin, HTML5) is what I am trying to avoid.

Making a swift app compatible with different operating systems

I want to make an app using swift that will accept credit card payments for physical goods. I want the app to be compatible with ios as well as android and others. Should I make a web app instead of going through app store and is there a secure way to do this (with respect to credit card processing)? Are there any straight forward tutorials? Please help me I'm stuck! Thanks!
It is not possible to port a Swift/Objective-C application to Java or vice versa without some additional work.
A hybrid application is written with HTML, CSS, and JavaScript but acts like a native application. Apache Cordova allows you to write one code base and then package the application for iOS, Android, and several other operating systems.
As for credit card processing, there are Cordova plug-ins like this one for PayPal.
If you want the widest range of options and greatest security when it comes to processing payments, a responsive web application would be a better choice.
If you want a cross platform language and development environment that supports the development of Android and iOS store apps and doesn't use Javascript or other web development tools, you can use Xamarin from Microsoft which supports C# (and F#). C# is derived from Java but provides some language features that Swift also supports but Java does not such as structs, properties, tuples and extension methods.

Tiny WiFi connected relay - where to start

I'm trying to get some initial info on my very first IoT project. I want to build a * tiny * wifi connected relay to control, let's say, lights. I'm a newbie in the hardware and electronics field though, but I'm a pro developer, so programming is not a problem.
Now, I've looked at different options and I can't seem to find really small components for the task. It might be I overlooked something, so please help me with available options.
Look at the ESP8266 devices. They have WiFi on chip and can be programmed using the Arduino environment. You basically write code in C++ to do whatever you need.
Here is an Amazon search for some examples:
https://www.amazon.com/s?k=esp8266
I recently did a project using a Linknode R4 (similar to above but with 4 relays) and programmed it as a web server with REST API. Then I built a front end with ASP.NET Core to that talks to the REST API for the devices on my network. The Arduino sketch for the web server is posted on Github at https://github.com/SteveInCO/LinknodeR4. I would assume it would work with little modification on the device I linked above.
The default program for the R4 allows controlling it via their website or iOS/Android apps, though I could never get it to work out of the box. Their model uses a polling method so the relays continually ask the server what to do next.
Windows IoT doesn't run on these small devices yet, but no reason you can't front end the Arduino API with a UWP app running under Windows IoT on a Raspberry Pi instead of the web app like I did. I think the eventual plan is for ASP.NET Core to be able to run on an ARM based system like a Raspberry Pi, but last I checked it wasn't quite there yet.

Services on Windows Mobile 7

Is it possible to create a service using XNA/Windows Mobile 7? Similar to how you can in Android?
This isn't really possible in 7.0, but if you're using (or targetting) 7.1 (Mango), then you can look into using Background Agents. The link explains the base class, but you can use ScheduledTaskAgent, AudioPlayerAgent and AudioStreamingAgent depending on your need. There's a great introductory tutorial here and sample codes on MSDN. There's an XNA specific example in this MSDN post.
The reason Background Agents are used is so that different apps can be monitored to ensure one app isn't hogging all the resources. This means that the battery life is more optimised and there's better resource management.
If you mean to use Services such that others apps can communicate with your service, this isn't really possible. Each app is sandboxed for security reasons and, at the moment, this means that they can't communicate with other third party apps directly.

Can someone check/revise my understanding of Blackberry development options?

I'd like my Blackberry devices to get and possibly set data to the server, and am a little confused by all the options:
RIM-Push/Pap-Push. Use any library that is able to compose a HTTP GET request to the MDS-CS service (not MDS-IS). This is a one way operation from the server to the device.
RIM-Push (Push a URL and or shorcut to a device for possible offline viewing)
PAP-Push (Same as above, BUT allows for message confirmation of delivery)
WebServices: Use Visual Studio 2008 to create a Web Services only project. I'm unclear if this is supported anymore, or if MDS-IS is used. This is a 2 way operation.
MDS-IS: Use Eclipse to develop the applications and Java is required, I am unsure of what client libraries are able to do (2 way operation).
Let me know if missing any option, or if I need to revise my understanding of the basics
This is actually quite a broad question - there are a lot of ways for a BlackBerry device to interact with a server, and the ideal way depends heavily on your specific application.
Generally:
MDS Studio: the Visual Studio 2008 method is no longer actively supported. It was a mostly visual forms designer, but not a great solution for a lot of reasons. Basically, don't use it.
Mobile Web: Depending on what you need to do, this might work. Everything server side. The thing to be aware of (and why this doesn't work for a lot of problems) is that prior to BlackBerry 6 the browser wasn't very capable, either in terms of HTML support or JavaScript support. You can, however, create shortcuts to mobile web sites which appear as icons on the BlackBerry homescreen. And you can use BlackBerry Web Signals: http://na.blackberry.com/eng/developers/browserdev/websignals.jsp to push changes to mobile web pages to devices
Widgets: Supported in BlackBerry OS 5 and higher. http://na.blackberry.com/eng/developers/browserdev/widgetsdk.jsp These are packaged much like 'native' BlackBerry apps, but written using HTML and JavaScript. Can be a good option for rapid development if you're ok with just targeting OS 5, and with the limitations of the BlackBerry Browser. Lots of JavaScript hooks to system functions, so they give you more functionality than pure mobile web, and you can distribute them through App World and the like.
Java Apps: Most development work, but you get potentially the best user experience, and the most functionality. Too broad a topic to cover adequately here, but there are a lot of questions related to these on SO and elsewhere. A good starting point is the BlackBerry developer zone: http://www.blackberry.com/developers RIM Push and PAP Push both fall into this category, as they interact with Java apps, though there are other methods that you can use to achieve similar results (client polling, or I've even seen SMS or email used to push info or wake up a client, though this isn't recommended by RIM).
For a deeper overview of the options I'd recommend a book by my friend John Wargo, called BlackBerry Development Fundamentals. He covers the various options pretty well.

Resources