I am currently using VB.net 2010 and WPF 4 to create an application, but the further I learn it, the more I realize that the two programming languages may not meet my needs, especially where I have to migrate a version to a web-based Silverlight platform.

With this in mind, I'm thinking of dumping the Microsoft programming languages all together before I get further into this project, and build this entire thing over again in a cross-platform language.

This brings me to my question: I need the graphic capabilities of WPF, which I know is in the Flash platform, but I also need a language I can migrate my VERY complex VB.net core code into; thus, I'm thinking using Python.

Are these two languages capable of working side by side? Alternatively, can I convert all my Vb.net code into ActionScript, instead of using two languages?
Is there another alternative to consider? Open source is the best, though I know ActionScript isn't, by any means open source. This is a strictly commercial project.

Thank you!

  • I would say look at Mono-Project and go with C#. But I am a big fan on the .Net stack. – Erin Jun 1 '11 at 1:29

You can pretty much make any technology communicate with any other technology given a decoupled system architecture.

You could definitely convert any vb.net code to Python. It may not match 1:1, but it's definitely possible.

You won't be able to translate all of your VB code directly to Actionscript as you'd have to open database access directly to clients, which would be a horrendous security hole, especially seeing how easy .swf files are to decompile in a readable format.

If you want cross-platform, free technology, I'd suggest Python back-end with an HTML5/canvas front end.

I find Flash easier to author things in given Adobe's IDE, but I definitely lean towards HTML5 for personal projects due to the facts that 1) it's native to the browser (whereas Flash requires a plugin) and 2) I find HTML5 stuff to be more powerful at this point (especially when you factor in the webgl stuff, which of course, isn't fully cross browser compatible yet). But this is a religious debate and you'll find vastly varying opinions on the front end tech stack.

  • Security is not much of an issue with this project's database - I'm just holding usernames and scores. No personal information at all. All the sensitive information is actually stored within a triple encryption algorithm. My project has a front-end similar to the Carmen Sandiego game titles of the late 1990s. – CodeMouse92 Jun 1 '11 at 1:20
  • 1
    No, I mean security issues to the database itself. If you go a 100% Flash/Actionscript route, then an arbitrary user can easily gain connectivity directly to your database with the same permissions as the game (I'm assuming that there would be reading/writing going on). Thus, they could execute any command against your database that the game could. – Demian Brecht Jun 1 '11 at 1:23
  • Would a password counteract that? – CodeMouse92 Jun 1 '11 at 1:57
  • 2
    @JasonMc92: "a password" might not be of any use at all. Security is bigger than "a password". You need to authenticate to database using a secure authentication mechanism like HTTP Digest Authentication. Yes, there's a password involved, but not, it's not sent in the clear. – S.Lott Jun 1 '11 at 3:03

Python flash... Hmm i found this: http://pyswftools.sourceforge.net/howto.html
and http://www.libming.org

What i love about python is that it is very flexible: http://wiki.python.org/moin/IntegratingPythonWithOtherLanguages

Also you can make your own bridge to your platform (for example giving .xml to flash and doing all the processing in python or other way around).

I wouldn't recommend compiling your code to other code since it may be slower to run/deploy/create.

As Demian Brecht suggested - look at HTML5, sure old browsers do not support it, but it's up to us to convince other people to upgrade and forcing some old lady to upgrade or download firefox/chrome instead of using IE8 will bring joy to us - developers! ;)

I hope it will help somehow... Good luck.

  • I'll keep Ming in mind. (Ironically, it shares a name with one of our game characters...) My hesitation towards HTML5 is that it is limited to web browsers, and I need my application to be both a local self-contained application, AND a browser application (possibly with minor modifications, granted.) I've also used it before, and haven't been able to achieve my goals. This is a massive project, with a front-end similar to the Learning Company titles of the later 1990s. – CodeMouse92 Jun 1 '11 at 16:57
  • Then you might want to look at these: wiki.python.org/moin/GuiProgramming Sure offline HTML5 is not perfect although it has some option running offline. – JackLeo Jun 1 '11 at 19:08

Not the answer you're looking for? Browse other questions tagged or ask your own question.