# What's the best cross platform approach (Windows/Mac) to deploy a simple service/daemon (with simpl

**URL:** <https://www.ruby-forum.com/t/whats-the-best-cross-platform-approach-windows-mac-to-deploy-a-simple-service-daemon-with-simpl/175517>\
**Category:** Ruby\
**Created:** [September 15, 2009, 3:05am UTC](https://www.ruby-forum.com/t/whats-the-best-cross-platform-approach-windows-mac-to-deploy-a-simple-service-daemon-with-simpl/175517 "2009-09-15T03:05:37Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![greg](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/71c47a/32.png) [@greg](https://www.ruby-forum.com/u/greg)\
**Post date:** [September 15, 2009, 3:05am UTC](https://www.ruby-forum.com/t/whats-the-best-cross-platform-approach-windows-mac-to-deploy-a-simple-service-daemon-with-simpl/175517/1 "2009-09-15T03:05:37Z")

</div>

Hi,

I’m getting confused re the range of options for development &  
deploying some simple code & UI to both Windows & Mac. Can anyone  
assist re a good direction here. I do like Ruby, however if it makes  
sense to move away from this (e.g. java, c#) then so be it. Which  
development option would people suggest for this?

REQUIREMENTS

1. Support for Windows & Mac
2. The installation should be one-click and package all required  
dependencies as much as possible.
3. Scheduling capability required - so either via (a) installed as a  
service/daemon, or (b) ability for installation to schedule periodic  
call to script (former is preferred)
4. Functionality component requires - ability to access/parse  
web-sites, and then ability to make HTTP(S) calls out to my site to  
store parsed data. So heave on HTTP(S) methods. Proxy support  
required in app, so ability for user to enter  
host/port/username/password for the proxy server.

DEV OPTIONS ?? - This is where I need help/advice. Some of the many  
options that come to mind:

1. Develop in Ruby and then find packaging product to create Windows &  
Mac installation packages - not sure how doable this is yet?  
Especially if I need the installation to effectively install as a  
service.
2. Develop in Java for cross-platform? but then needs users to have  
installed JRE?
3. Develop as Firefox addon? I’m not across this, but even if you  
can write custom code, then the issue would be firefox would have to  
be running I guess.
4. Develop windows & Mac versions separately, for example using Visual  
Studio Express to develop the windows version (assuming it can do HTTP  
work & create packages for installing services).

What would people suggest here? (would be nice to write once, push a  
button and then get the Mac & Windows installation packages spat out)

Thanks

---

<div class="post-metadata">

**Author:** ![greg](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/71c47a/32.png) [@greg](https://www.ruby-forum.com/u/greg)\
**Post date:** [September 15, 2009, 7:30am UTC](https://www.ruby-forum.com/t/whats-the-best-cross-platform-approach-windows-mac-to-deploy-a-simple-service-daemon-with-simpl/175517/2 "2009-09-15T07:30:18Z")

</div>

i would create separate functions for each Os, set up a vm network…  
windows xp, vista and mac… just to test your scripts…

if os = ‘windows xp’ then

# perform these functions

else

if os = ‘osx mac’ then

# perform tghese functions

…etc…

this is just to give you a idea of how i would do it… its improper…  
i hope it helps…

---

<div class="post-metadata">

**Author:** ![greg](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/71c47a/32.png) [@greg](https://www.ruby-forum.com/u/greg)\
**Post date:** [September 15, 2009, 7:43am UTC](https://www.ruby-forum.com/t/whats-the-best-cross-platform-approach-windows-mac-to-deploy-a-simple-service-daemon-with-simpl/175517/3 "2009-09-15T07:43:38Z")

</div>

Hi,  
There are many ways to get the information about the information about  
the  
operating system and  
implement the logic as

1. get the system info at ENV variable

ENV.to\_hash.each do |key, value|  
puts(“#{key} - #{value}”)  
end  
2. use ‘rbconfig’  
require ‘rbconfig’  
case Config::CONFIG[‘host\_os’]  
when /mswin|windows/i  
puts “its windows”  
else  
puts “Its not!”  
end

On Tue, Sep 15, 2009 at 11:01 AM, Bigmac T. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> …etc…
> 
> ## this is just to give you a idea of how i would do it… its improper… i hope it helps…
> 
> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).

## –

Thanks and Regards  
Saurabh P.  
+91-9922071155  
skype: sorab\_pune  
yahoo & gtalk: saurabh.purnaye  
msn: removed\_email\_address@domain.invalid

---

<div class="post-metadata">

**Author:** ![greg](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/71c47a/32.png) [@greg](https://www.ruby-forum.com/u/greg)\
**Post date:** [September 16, 2009, 3:44pm UTC](https://www.ruby-forum.com/t/whats-the-best-cross-platform-approach-windows-mac-to-deploy-a-simple-service-daemon-with-simpl/175517/4 "2009-09-16T15:44:13Z")

</div>

On Monday 14 September 2009 08:05:15 pm Greg H. wrote:

> 1. The installation should be one-click and package all required  
> DEV OPTIONS ?? - This is where I need help/advice. Some of the many  
> options that come to mind:
> 2. Develop in Ruby and then find packaging product to create Windows &  
> Mac installation packages - not sure how doable this is yet?  
> Especially if I need the installation to effectively install as a  
> service.
> 3. Develop in Java for cross-platform? but then needs users to have  
> installed JRE?

Most have it installed, and rawr might handle that.

Oh, and use JRuby, not Java.

Another possibility is to make it a pure web service, but you haven’t  
given us  
enough information:

> 1. Scheduling capability required

If it wasn’t for that, I’d strongly suggest a web service. As it is, I  
still  
might. Not all apps can be web apps, but for those who do, you pretty  
much  
don’t have that deployment question – people “install” your website by  
visiting it. Worst case, you tell them to install Firefox, so you don’t  
have  
to support IE…
