Building and deploying multi platform nw.js apps from a mac - nw.js

A bit of advice appreciated here before I start this. Hopefully the question will help other newbie users of nw.js as well.
I develop on a mac and I have build and deployed an HTML5 app using nw.js that runs successfully on a mac.
My question is simple. Can I build for windows and linux whilst still working from my mac, or do I need to invest in a windows machine and build it from there. Ditto for Linux.
My reason for asking is also because I read somewhere that the node modules installed in the package are not the same for each platform. I suppose you could say I have just answered my own question, but here's hoping!

The short answer is yes you can. I did (at least I have build for both Mac and Windows from Mac, I have not attempted Linux yet).
The mac build was easy. The windows build requires that you install wine (brew install wine, hopefully you installed node with brew, so brew is already on your system. If you did not, I recommend first removing node (very carefully!) and reinstalling it with brew).
Wine is required by the node build programmes (I use nw-builder-phoenix) to create the windows installer.
Wine has a few pre-requisites as well (cask, java and xquartz).
But having done all of this and re-run the build programme, it all works.
The icon format is different, .ico for windows apps and .icns for mac. They can both be generated from a .png file either using an app or a website.
Have fun.

Related

Scenic dependencies on Windows?

Background
I have been playing around with Scenic to make a desktop app across multiple environments. While the Install dependencies for Ubuntu are outdated and don;t work for the latest LTS (v20) I was still able to figure out the packages and install it on Ubuntu Linux.
However ... there is nothing for Windows.
Questions
Does Scenic even work on Windows?
If so, what are the dependencies? What need I to install?
Answer
Unfortunately, Scenic does not run on Windows, nor can it support it.
At the time of writing of this post, I am also unaware of any plans to make it work on a Windows system.
The confirmation came from an official collaborator from the Scenic project:
https://github.com/boydm/scenic/issues/206

How to install XCode 9 GM on MacOS Sierra 10.12?

I actually built a Hackintosh to learn programming with Xcode. It runs on my Asus X555LA laptop. I downloaded the latest Xcode 9 GM build from the Apple Site (not from App store). After extracting, when I tried to install, it shows "You can't use this version of the application "Xcode" with this version of macOS; You have macOS 10.12. The application requires macOS 10.12.6 or later".
Is there any tweak to make it run on my Sierra 10.12 itself? I can't really think about upgrading the macOS version as it's a Hackintosh. I followed this guide to install macOS on my Asus laptop.
Xcode requires latest macOS, you have no choice, you need to upgrade the macOS version on your Hackintosh. Or better: Reinstall macOS in a recommended way on your PC, if you're doing Hackintosh... :)
The guide you linked is very poor... Never use premade install images, because these have been modified in an uncertain way, and you don't want to install a premade undocumented mess to your computer. It might be packed with threats, malwares, spy tools and so on.. It's the worst thing I can imagine in security aspect to install an OS image from uncertain source.
Also, there is no universal macOS installer for PCs - even though many are trying to find a way to create it: it's a bad idea and it will never succeed because there are so many PC parts, millions of differently built computers..
The only way to create a stable fully functional Hackintosh is to know your hardware and create an installer flash drive for that specific PC. First you have to download the latest macOS Sierra from AppStore, this is the only source that you can trust, because it's downloading from Apple's servers. Then install a small program, called Clover bootloader to the flash drive to make it bootable.
This is the only full and up to date guide for PC laptops. If you have questions, register to the linked site and start a new forum thread posting your questions. They will help you but please read this guide at least 3-4 times carefully because everything is described here.

How can I create an installation package for a Mac OS application without having a Mac?

I have a C# application that works great in Linux and Windows. Now I want to make an installation package for the Mac OS but I don't have anything running it in order to develop it / test it. The software is open source, so I don't want to put money into buying yet another laptop just to test it.
Is there a way to create some kind of installer / package for this C# application without actually needing to have a Mac? I even made a .deb package for Linux. Isn't it possible to somehow convert it?
It depends on how fancy you want to get with the installer. I'd start with something simple like building a package for Homebrew.
That's all command-line, though. If you think your Mac users would be unhappy installing an running from the command-line, you'll have to look into more sophisticated solutions. Mac GUI applications are traditionally built into .app bundles. Unfortunately for you, C# does not have lots of support for cross-compiling to the Mac. It's possible, but it's going to take a lot of trial and error, which will be way more frustrating without a test machine to see if you're doing it right.
You might try CPack (part of CMake). CMake doesn't really do C# (otherwise it'd be perfect for you), but you may be able to point CPack at the completed binaries and get it to bundle them up for the Mac for you. You could also use CMake/CPack to build a dummy Mac application and then you'd be able to swap out all the pieces for your own binaries.

Writing code for a Mac using Lazarus

I have done a little work on lazarus' free pascal. So when a client asked me to write an application for a mac, after the initial, "it can't be done" stage. (followed by an asp.net maybe stage) i thought about writing it using lazarus.
Question is. I have only a virtual machine running mac OSX, this means that i do not really want to develop on the mac. However, i just cannot seem to get the applications that i have written in lazarus on windows to work on the mac. I have tried the deployment using the Lazarus Wiki and the MACOS folder is empty and so when i put it on the mac it doesn't run the application.
What is the best way of doing this or am i barking up the wrong tree?
It seems you want to do cross-compiling, which is theoretically possible, but may not be practical, for the reasons mentioned by Marco above.
As an alternative, you could install XCode, FreePascal, and Lazarus on a MacOX machine. You could still do your development and some testing on Windows/Linux. When you hit a certain milestone, you can copy your source code to the Mac and compile your application to test and give to the user.
Even if it were possible to easily cross-compile, there some minor differences between platforms, so (especially if it's a GUI app), you would want to test it on an actual MacOS box before giving it to the client.
I've taken the route described by Noah - and I was incredibly surprised that after about three weeks development on Windows, it took about 10 minutes to get the application running on the Mac.
My route was to install Xcode 4.3 on an old Mac Mini running snow leopard, then install Lazarus using the fink version as described here. This took a while but was done in an evening.
Then I just copied my folder across to the Mac, opened the lpi on the Mac, compiled it. It failed so I removed a windows references, recompiled, and it was working. I was truly amazed.
What linker and assembler do you use to generate binaries? To my best knowledge the linker for recent OS X versions is not available in source.
Afaik what you want (crosscompiling to Mac) is not possible for recent versions (and I've done it for PowerPC myself in the past).
The easiest is to use the Unix "file" command on the binary to see what is generated, and make sure it reads something with "MachO" in it. Easiest is if you have a Linux install (where this command is pretty standard), but versions can be found for windows too (cygwin, mingw and 3rd party)

I have an exe setup file. I want to make it compatible with Mac OS

I have an exe setup file. I want to make it compatible with Mac OS. Is there is any way through which we can convert an EXE to DMG, APP or a Jar?
No, you cant, you need to recompile the application for the target platform.
Nope*.
Moreover, if the contained software is compiled for Windows, it won't work on Mac.
If may work only if it is script-based (like in ruby, python, etc.). But usually, you'll have a proper Mac installation package when it is compatible.
**Exception*: some EXE are extractible archives, but it won't change the incompatibility if it is compiled for Windows.
The simple answer is to install software on a Macintosh OS you must recompile it down to a .dmg file. I jumped on Google and this article Creating a Mac OS X App from a Jar File was the second choice. The default Mac OS Java version was 1.5 for Leopard. Target 1.4+ and you should cover systems from at least Leopard and upwards.
As an aside, this tutorial was recently updated for Snow Leopard and covers the same stuff. Best of luck in getting it ported.
There are different distribution for Mac with have java6 and below version, for java 7 and 8 you need to make another app to run and compatible with
I did it on my way:
Create exe/ setup for your jar.
follow the link ---> winebottler.kronenberg.org
download winebottler(GUI based tool) for your mac type and simply follow this link below
https://www.youtube.com/watch?v=imPGlqEuYBk
No extra burden for you to how.
Note: This will pack your setup in app but app size will increase.

Resources