Click here to Skip to main content
15,879,535 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more: , +
I am a C services [TCP/IP/Socket/MySql/Httpd] developer on linux ; the problem task is that I want to develop an app that will be portable [granted I may have to make tweaks or version it] to Linux, Windows and possibly in the future, Android. The app will be a TV player, that will stream M3U playlist and include an EPG too. Yes, it may have been done, but I want to do this because....well I want to.!

There are so many operating system flavours and software stacks (IDE [Visual Sudio, Eclipse, QT, GTK, IntelliJ, NetBEans], compilers/languages [C, C++, C#, Java, HTML5/CSS/Javascript], frameworks [Xamarin, NodeJS, WebKit, Mono], libraries, and son on).

As a seasoned developer of some 30years, I have learnt to not chose a fixed solution for every problem, but to select the stack that is right for the job and if I need to, acquire the knowledge and competence in using the stack to arrive at the solution. Using this mantra, what would members recommend I select for the problem ??

What I have tried:

Looked into :-
IDE [Visual Sudio, Eclipse, QT, GTK, IntelliJ, NetBEans],
compilers/languages [C, C++, C#, Java, HTML5],
frameworks [Xamarin, NodeJS, WebKit],
libraries [GTK, Qt, DLL]

I'm leaning towards C# with WPF using Visual Studio Community. Rationale :-
a) C# because the code should be fairly portable between linux + windows
b) WPF because this uses DirectX and I can draw a GUI and controls over any video being played - for example, pressing OK on a remote will bring up the current channel info GUI (TV programme name, runtime, EPG info, next programme, date, time etc). GDI (Windows.Forms will make this very difficult)
c) Visual Studio now incorporates concurrent development through the new Windows Linux Subsystem where the linux kernel interface is patched through the underlying windows kernel meaning I can run linux and windows on the same box in the same session without a virtual machine or remote file setup)
d) XAML can be ported (with a little work, to linux: Writing a XAML application for X11 with UserControls )


EDIT: I jus tread UWP/WPF apps MUST be sold through the win app store??
Updated 7-Jun-18 1:57am
Nathan Minier 6-Jun-18 7:50am    
So, the .NET landscape has changed a bit. Modern iterations no longer need to lean on Mono thanks to .NET Core, which utilizes a "new" architecture known as Universal Windows Platform (UWP) in place of WPF for native apps. It still uses XAML, but is a little different and, despite the name, is not only targeted at Windows (it will run a Linux GUI).

Have a look at .NET Core C# with UWP.
ninjaef 6-Jun-18 8:57am    
Ah, I see. Thank you Nathan. I did see .NET core intermixed with .NET . I'm not fully aware of .NET technologies - coming from a *nix/C background - and I also see a ASP.NET which seems different than .NET core ??Typical MS confusio.

So , does .NET core provide the ASP.NET function and can Xamarin be laid over .NET core for ease of app development - it has a rather good Video rendering class framework ?
Nathan Minier 6-Jun-18 9:23am    
ASP is short for Active Server Pages, and is a generic descriptor for all things web application in .NET. If you're making native apps then you can safely ignore it.

The real confusion right now is that there is .NET Core (universal), .NET Framework (Windows only), and .NET Standard, which is a standards-based convention that is supposed to cover both (implementations will vary between Core and Framework, but the APIs should be the same thanks to Standard. Nightmarish, I know).

I've never worked with Xamarin, but a quick search turned up this:

Plus the Xamarin site has a number of different posts about implementing Xamarin projects against .NET Standard.
ninjaef 6-Jun-18 12:57pm    
xamarin , conceptually, provid3s a further level of abstraction over .NET (windows) Java (android) all of which of course is an abstraction of, ultimaely, platform O/S APIs.

with xamarin extension to MSVS iy should be possible to easily develop x-platform apps with minimal refactoring.

THANK YOU SO MUCH for those links
[no name] 6-Jun-18 13:55pm    
UWP apps can run "local" in (Windows) "developer mode".

Other than that, the "store" also functions as a (enterprise) "distribution channel" (which keeps too many users from shooting themselves?)

1 solution

node-webkit aka "nwjs" looks a strong candidate for x-platform desktop apps ??
Share this answer
[no name] 7-Jun-18 12:25pm    
It takes long enough to develop a decent app to also have to "worry" about cross-platform compatibility.

I found my "home" in C#, WPF, W10 Creators update, SQL Server, etc. for "anything" I needed to do (i.e. the whole MS stack).

UNITY HAS A (new) VIDEO PLAYER!! (Unity is cross-platform).

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900