Safe is an application that makes it easy to encrypt your files. Safe is cross-platform and currently runs on Windows and Mac OS X. It works with all. ParanoiaTextEncryption.ipa, Paranoia Text Encryption for iOS Lite version 2.6 (Apple App Store) (free version). PC (Windows, Linux, Mac OS X.): Sign, File.
It's good that you're thinking of portability early on - it's vastly more difficult to 'bolt it on' after the fact. There are various cross-platform kits available, but IMHO all of them fall a bit short of providing a 'native' look and feel on all the supported platforms. On the Mac (what I use), proponents of such kits always want to mention that they're using native controls. That's a good start, but it's not the whole journey.
Other issues addressed by include how the controls should be arranged, how button labels should be phrased, what standard shortcut keys should be used, etc. Even Microsoft had to about the dangers of trying to write a cross-platform GUI, with the ill-fated Word 6.0 for Mac. IMHO, a better approach is to use an design, with the model layer written in standard, portable C, and the view and controller layers using the native toolkit for each platform.
For the Mac version, Carbon and C throughout used to be an interesting option that is now not supported anymore, so you would want to use Cocoa, using Objective-C in the view and Objective-C in your controllers to bridge the language gap. Your Windows version could likewise compile your model as 'managed C', and use any.NET language for controllers and views. Is a cross platform C library, which is a practical choice. But I agree with Sherm - all cross platform libraries do create an inferior UI to native applications. It's made harder by each OS having different UI semantics (button orders etc), so while you may achieve a good look, getting the 'feel' right on each platform via one view layer is almost bound to be impossible.
Depending on what you end up doing, you may find a web interface better (e.g. Embed a web server in your app and serve HTTP pages to a browser). You avoid the L&F issues then! Alternatively, you can decide you're just going to have a completely non-standard L&F, and go for something like wxWidgets, or Tcl/Tk.
If you do decide to go with C there are a number of good cross-platform GUI libraries that will allow you to avoid having to duplicate the GUI code for each platform. For example:. There are a number of other similar projects but those are some of the better and more well-known ones. For the remainder of your code, anything system-specific will of course have to be written using separate C code to interface with Win32 APIs or OS X's system API where necessary. That being said, you may find you're able to avoid much of the system-specific code by using extensive libraries like. Other suggestions would be things like using a configuration file instead of the Windows registry or a plist file on the mac.
Instead, shoot for platform-agnostic approaches wherever possible to minimize the places where you have to write code using system APIs. As others have mentioned is is definitely possible to create good looking cross platform GUI in Java on both Windows and Mac. However if you want your app to blend in and behave in a way that makes it 'feel' like an application designed from the ground up for the platform it is running on, you really have to develop the GUI and user experience for each version of the application separately.
If you analyze what your application is going to do and figure that there is a significant portion of code/logic that could be shared between platforms then write that portion in a portable way in a language that is available on both systems. C, C, Java, Python, Ruby, etc. If there isn't a significant portion, ie most of the code is going to be for the GUI then there is less of a case for sharing any code at all.
In the case that there is a significant portion of common code, I would suggest looking into Python and Ruby as implementation languages as there are Cocoa bindings for those languages on the Mac and on Windows with the use of IronPython and IronRuby you could use reuse that code in a.Net application as well. I'm planning to do a similar thing, and I'm considering creating a C#/.NET Windows application and then porting it to OS X using Mono. My application already has a completely (except for the title bar and corner buttons) custom-drawn user interface, so the cosmetic OS differences shouldn't affect me too much. I'm not sure what you mean by leveraging the best of each platform in terms of frameworks and APIs and so forth. In general, writing a cross-platform application means writing to a least common denominator, and thus means not getting the best out of each platform.
Shield Platform Encryption
Java or Mono come to my mind. Some people may argue that java graphical toolkits are not the cuttest out there but it seems to be, at least to me, the easiest way to port your application to several platforms and avoid deployment difficulties. Mono, on the other hand, could be a little bit more difficult to port as you would have to write at least the gui twice if you plan to have native widgets (either winforms or GTK for windows and CocoaSharp for Max) but you could write the backend only once and develop a frontend for each platform. As I said, Java GUI toolkits might not feel 'native' inside OSX or even on Windows but they sure work on both platforms, you could use either Swing or AWT.
Cross-platform Encryption For Mac Windows 10
As for mono, you can use GTK or Winforms for both windows and OSX but they still will not feel native, you can, however use CocoaSharp which are bindings to the Cocoa framework but Im not sure about the status of the project (read: functionality support). If you choose C language, I would definitely recommend for that. Your application can be deployed under Windows and Mac as requested in the OP, but also Linux, and now, with the latest version on smartphones using iOs, Windows RT and Android. It's well documented and very active on the web (including on SO). The only negative point I see is Qt creator tool which, IMHO, is less user friendly than historical tools (like Visual Studio for instance ), but you are not actually forced to use it as an IDE for Qt development.