ZeroMQ on Windows Phone 8.1? - windows-phone-8.1

I've been developing an app for Windows Phone 8.1 and i wanted to use ZeroMQ for the communication with the server. I've used ZMQ before and it has always worked after some trying but i just coulnd't get it to work with WP8.1. I already tried to use NetMQ but i get the error "the package does not contain any assembly references or content files that are compatible with that framework" when trying to install it via NuGet, the same Problem with clrzmq4 and Castle.ZMQ Is there any possibility out there to get ZeroMQ running on WP8.1? I'm thankful for your help.

According to this thread, ZeroMQ is not compatible with Windows Phone, since this doesn't support the .NET sockets library.
I guess you'll have to use an alternative or build your own then...

Related

Win32 API support in WIndows 8.1 phone

I heard that few of the Win32 APIs are not supported in Windows 8.1 phone. I have an c++ application which is using some Win32 APIs. How to check whether my application will work on Windows 8.1 phone?
You can find the list of supported Win32 functions on MSDN. However, since it can be hard to match supported functions with your code, you might as well try to compile the code yourself and check the errors (if any).
It mostly depends on what you were doing with win32. The list of functions is quite limited IMHO.
The best way is to run the WACK (Windows Application Certification Kit).
Right-click project, choose Store, then Create App Packages...
Say "No" to upload packages, then click Next
Select ARM & x86 release builds, then click Create
Click Launch WACK on the next screen
You might have to download a WACK update before you can certify (it changes pretty regularly as new APIs are enabled).

How to watch logs from windows phone 8.1

How can I watch logs from windows phone 8.1. (for instance like for Android by using SDK, or for iOs by using xCode)
The Visual Studio Output Windows is handy if you are debugging your app but you cannot see/collect the logs in another moment.
I recommend the use of MetroLog, a lightweight logging system designed specifically for Windows Store and Windows Phone apps.
You can install it using NuGet
Install-Package MetroLog
Here's an quick example:
using MetroLog;
using MetroLog.Targets;
LogManagerFactory.DefaultConfiguration.AddTarget(LogLevel.Trace, LogLevel.Fatal, new FileStreamingTarget());
ILogger log = LogManagerFactory.DefaultLogManager.GetLogger<MainPage>();
log.Trace("This is a trace message.");
You can find a tutorial explaining how to add it on your project at http://talkitbr.com/2015/06/11/adicionando-logs-em-universal-apps. Also there is an explanation regarding retrieving these logs.

Porting windows phone 8.0 apps to windows phone 8.1

I am working on a project in Windows Phone 8.0 SDK for the last year or so. Now that Windows Phone 8.1 SDK is out I am trying to port my application to 8.1 SDK.
Currently, I have targeted my application which was built in 8.0 to 8.1. It works fine. But there are certain things which I am curious to know more are the about the namespace changes.
So now all the windows 8.1 and windows phone 8.1 apps fall under the windows store apps, there are certain namespace that are missing. For example, the System.IO.IsolatedStorage namespace does not exist in the 8.1 SDK. But there exists Windows.Storage namespace which can serve the same purpose.
Here's where it gets really interesting,
I have a solution with 10 projects built in 8.0 originally, and targeted to 8.1. System.IO.IsolatedStorage namespace still works and Microsoft.Xna.Framework.Media namespace still works. But when I create a new project in the same solution, I don't get these namespace.
I get the point that the original project was built in 8.0 and that's why I am able to see the earlier namespaces. But the problem arises when I would like to use the isolated storage data in the 8.1 SDK.
I am assuming that the solution would be to change each and every namespace to Windows.Storage instead of System.IO.IsolatedStorage. This is going to be a tedious process as the application we have here is quite a big application.
Am I missing anything here? What is the best practice?
But when I create a new project in the same solution, I don't get these namespace.
Sounds like you're creating a Windows Runtime project in your solution, and your existing solutions are Silverlight 8.1 solutions.
You need to make sure you pick a project type that includes "Silverlight".

Accessing USB devices from node-webkit?

I'm building a node-webkit app that needs to run on all 3 main desktop environments (windows, mac and linux) I need my app to connect to a plugged in USB device and I'm having a bit of trouble working out exactly how to go about this.
Is there an npm that would work across all OS's? Could I get one built in C++ that would work? Is there anything built in to node-webkit for interacting with devices (Devices API?)
Thanks in advance.
You're almost certain to need a C/C++ module to make this happen, which means a build process is required. The good news is that you can just do the build on your machine and distribute the resulting binaries (x86 and x64) for Windows and OS X. Linux might be a little trickier, but on the other hand it's more likely to have a working build environment.
There are a few approaches, in order of ease:
If your GPS device can present itself as a simple serial device (a COM port on Windows, or /dev/tty-usbserial on *nix), then you can just use serialport to connect to the device and receive raw data. There's a nmea module that can handle parsing the data. serialport works out of the box on all 3 platforms.
If the drivers don't have an official option to present the device as a serial device, you may be able to find an unsupported way to make it happen with some searching.
If the GPS device's drivers don't expose the device as a serial device, you'll need to write a C++ module that interfaces with the driver. You'll need to write code for all three platforms; the device manufacturer should provide documentation/an SDK. (See here for advice about getting started with native modules on Windows.)
Last resort: you may be able to use the usb module to communicate directly with the device. This will probably involve reverse engineering the protocol that the device uses to communicate with the computer.
I recommend you to execute a command line script for that. Caution, it is platform-specific.
Actually you don't need any module you can use chrome usb api its already available for node webkit and electron applications https://developer.chrome.com/apps/usb

Windows Phone 8 and D3DCompiler

For now in windows RT it is possible to access D3DCompiler.h, but application will not pass the store test (this is corrected in windows 8.1).
Is there a way to add D3DCompiler in windows phone project? (Mostly I need reflection support, shaders are generally precompiled). I tried to add the ARM build reference but it doens't seem it wants to include it (some xap security?).
Please note that for now I don't need store deployments, so if it works for development purposes that's fine (and either c++/sharpDX solution is pretty welcomed).
D3DCompiler was not available for 'production' use with Windows Store apps for Windows 8.0 or Windows phone 8.0. It was available for development, but the D3DCompiler #46 DLL itself will not pass the WACK tool for submission to the store.
It is available with Windows Store apps for Windows 8.1 and Windows phone 8.1. The D3DCompiler #47 DLL is included as part of the OS now. See this blog post.