Search Unity

Unity, a valid choice for database app like Invoice or daybook?Unity Geeks plz advise

Discussion in 'General Discussion' started by jessica1986, Oct 31, 2012.

  1. jessica1986

    jessica1986

    Joined:
    Feb 7, 2012
    Posts:
    621
    Will unity4 be a good choice 2make any data driven app like Invoice or day book sys?

    Due to various export options available i want to use unity to make a database driven application like day book because i can export it to web as well as exe, and thats what i really need.

    I dont find any other software where i code once and deploy on both the platforms. So that is why i am here asking this question.

    I can easily communicate unity to mysql, my only question is, is there any big reason to not to go for it ??

    I wish to use iGUI or unity's own gui system[priority] , will start with unity4.0 as major improvements are coming.

    I want Unity Geeks to answer this query of mine, i know the coding will take time as compare to visual studio, but its worth as in there, i will have to work in visual c# and asp.net

    Please provide me your best advise on this. I would love to see the advise from the makers of unity aswell.
     
  2. jessica1986

    jessica1986

    Joined:
    Feb 7, 2012
    Posts:
    621
    any suggess ??
     
  3. yls

    yls

    Joined:
    Apr 13, 2012
    Posts:
    197
    It's a trap ? Anyway i don't think it's a good idea. 3d game development and Invoice seems to be pretty different kind of application.
     
  4. scarpelius

    scarpelius

    Joined:
    Aug 19, 2007
    Posts:
    966
    I believe making a database application in a game engine to be a pain in the ass. At least working with the GUI system is going to take way more time than working with php/asp for web and working with C# for desktop.
    Also keep in mind that unity is not directly communicate with the mySQL server on a webplayer application, the communication needs to go through a www service which makes the unity interface an unnecessary burden in the browser.
     
  5. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
    Built a substantial GUI application in unity.

    Within a week or two of launch we ported the whole thing off to another platform.

    Take from that what you will.
     
  6. Aurore

    Aurore

    Director of Real-Time Learning

    Joined:
    Aug 1, 2012
    Posts:
    3,106
    I don't think Unity is built for this kind of thing, you will need to do a lot of programming work.

    Unity's new GUI system will not ship with Unity 4.0 but will be somewhere in the 4.x release cycle, so there is no knowing when you will get what you need.

    I don't know much about Unity communicating with mysql but i think it's possible http://answers.unity3d.com/questions/18163/is-it-possible-to-send-and-recieve-data-fromto-a-m.html So it is possible but I don't think the communication is very secure from Unity to db though.
     
  7. nbirko2928

    nbirko2928

    Joined:
    Aug 20, 2012
    Posts:
    125
    I don't get it, are you trying to do this for the heck of it or you want to make life easier? If you want the latter, avoid Unity and stick to environments that are suitable for such task (ASP.NET is a good start actually).
     
  8. keithsoulasa

    keithsoulasa

    Joined:
    Feb 15, 2012
    Posts:
    2,126
    No, their are far better frameworks for such a thing .
     
  9. keithsoulasa

    keithsoulasa

    Joined:
    Feb 15, 2012
    Posts:
    2,126
    You can talk to mySql using PHP pages and WWW.post
    Here's a very crude example I wrote if you'd like to use it
    http://wiki.unity3d.com/index.php/Easy_MySQL_Submission
     
  10. Aiursrage2k

    Aiursrage2k

    Joined:
    Nov 1, 2009
    Posts:
    4,835
    Yeah unitys GUI is pretty abysmal so trying to make a non-game which centres around gui seems like a bad idea. I would also think it will take a while to load unity then you would expect for a non-game. There was supposed to be a GUI come out in 3.5 but unity said forget it and now its moved to 4.? and they might say forget it again.
     
    Last edited: Oct 31, 2012
  11. JamesLeeNZ

    JamesLeeNZ

    Joined:
    Nov 15, 2011
    Posts:
    5,616
    simple answer: no.
     
  12. domdaman

    domdaman

    Joined:
    Sep 20, 2012
    Posts:
    8
    Take a look at Appcelerator's Titanium SDK and Studio. It has a rich UI and code up in Javascript, Ruby, Python,PHP, HTML5, and CSS3. You can also bind to native APIs if need to. The SDK allows you to deploy to Android, IOS, and desktop. They have since split the desktop sdk to http://www.tidesdk.org/. Download the tidesdk zip and "Install Specific Titanium SDK" under the Help menu. Here is the Google Group forum
     
  13. jessica1986

    jessica1986

    Joined:
    Feb 7, 2012
    Posts:
    621
    so domdaman it means if i want to develop multiplatform desktop app i should use - tidesdk

    and for mobiles, pads and web , i go for - titanium

    and i better drop the idea for visual c# and asp.net

    is it the best choice ??
     
  14. domdaman

    domdaman

    Joined:
    Sep 20, 2012
    Posts:
    8
    What's best depends on your skill sets I believe. If you are familiar with web scripting languages then TideSDK is suitable. TideSDK and Titanium Mobile shares some core APIs so you should be able to use the same project for desktop and mobile environment. If you are familiar with C# then use Mono to deploy across the different platform. For Java technology, take a look at Pivot or perhaps Vaadin as a webapp that works for desktop and mobile platform. Since you mentioned mysql, I assume there is a server-side component to this application where you store all your data. The server-side component could be any technology you use to build the business logic such as Java, Ruby, or PHP using web services to talk to the client application.
     
  15. Meltdown

    Meltdown

    Joined:
    Oct 13, 2010
    Posts:
    5,822
    For a business application, no Unity is not the best.
    If it needs to be on many of the platforms Unity supports, then it may be worth doing in Unity.

    I'd suggest NGUI as a UI for this tool.
    For data purposes, I'd suggest building a set of web services that talk to a database. Any enterprise database such as MySQL, PostGreSQL or SQL Server would be fine.

    For multi-platform, use the WWW class to talk to the web services. Alternately for standalone clients you can use WSDL to make the programming a bit easier. But go for using the WWW class, as that will work on all platforms.

    If you need the data to be secure, simply set the web services site to only run under under HTTPS, and make sure when you go live that the web services and methods are not discoverable.
     
  16. jessica1986

    jessica1986

    Joined:
    Feb 7, 2012
    Posts:
    621
    Thanks a lot for your reply, i dont know why people are advising me not to go for it, i am ready for the time it will take, i am ready for the file size, i have no problems in it as well.

    Is there something else which will give me issues later ? i mean the performance issues ?? somebody said unity render per frame, but why do i worry for it for gui based stuff ?

    1. I have seen applicationcraft >> develop once deploy to multiple playtforms but it cloud based development and i dont want it
    2. titanium - a whole new story for me
    3. visual c# + asp.net , if i decide this technology then i have to develop 2 different version + no option for android , ios

    So whats best for me ? build in unity i am familiar to and do what i want, isnt it ? I want builds for web / mac / web / android pads / ios pads
    Does ngui provide stuff like data grid/list view where i can show a lot of data or i need to make custom using unity gui ??
     
  17. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    The thing about C#, though, is that there are ways to develop on Linux/Unix platforms, through Monodevelop.

    Android...well, now you're talking Java.

    Actually, if you want something that's really cross-platform, you might consider using Java. Ultimately, it's not too different from C# (especially, given how C# was copied off Java in the first place.)

    I don't think Unity is the right tool for a business app like that. Trust me - Java sounds like what you will be wanting.
     
  18. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    The main reason against Unity for this kind of application is that its 3D rendering contexts operating which are pretty processing heavy even if you do nothing. They prevent the gpu from slowing down.
    This rendering and its handling also eats away a fair amount of performance you could do for other things and integrating / using iOS native capabilities requires a lot more knowledge to bridge the gap than when doing it natively.


    For something like your use case that would prefer to use the native UI, I would either go with:

    1. C# and MonoTouch MonoAndroid Microsofts SDKs for Win8 / WinRT / Windows Phone 8 (my preference. Its more work as it supports platform specifics that can't be covered by a single UI implementation but its the only thing that really gives you all the power thats there + the native tools like iOS storyboards etc. The core of your application on the other hand would widely remain the same for all platforms)
    2. With Appcelerator Titanium or PhoneGap or a similar technology or
    3. With Adobe AIR and their compilers to native
     
  19. Meltdown

    Meltdown

    Joined:
    Oct 13, 2010
    Posts:
    5,822
    You don't need to worry about this. Unity renders per frame yes, but you only need to load the data from the web service once.
    NGUI is heavily optimised for Unity and mobile, so if you use it correctly you can have a nice looking UI with good performance.
    And unless you are having thousands of concurrent users your web services performance will be good on a basic server.
    I'd suggest MySQL community edition as a database... very powerful.. and it's free.

    For multiplatform like you want I don't have experience with other tools. I can only recommend Unity, since I know it. NGUI does not have a powerful data grid like standard web/windows forms controls have, but it has some similar controls you can use to scroll lists of items. So if you want a grid of 7 columns, you can have 7 UILabel objects for each row, each showing text. Then if you want an image or a button on each row you can add that too.

    So yes, you can do it in Unity, and if you use NGUI correctly there shouldn't be performance issues across all platforms.

    But to tell you that Unity is the best solution for all of this, I can't, there may be better multi-platform options...
    I'd suggest trying 2 or 3 simple applications in the different tools you have available for multi-platform.
     
  20. GeorgeRigato

    GeorgeRigato

    Joined:
    Jul 5, 2012
    Posts:
    58
    I had some experience developing a cross platform game much alike draw something or song pop, using unity.

    The poor UI performance made the unity project impracticable.

    IF you got super magic awesome optimizing techniques, maybe worth the shot for the deployment possibilities of unity.

    So I would listen to the more experienced developers here, and go for those other ways.

    Anyway good luck!
     
  21. Meltdown

    Meltdown

    Joined:
    Oct 13, 2010
    Posts:
    5,822
    Which UI library did you use?
     
  22. GeorgeRigato

    GeorgeRigato

    Joined:
    Jul 5, 2012
    Posts:
    58
    The built in.

    I know, it's the worst anyone can do.
     
  23. Meltdown

    Meltdown

    Joined:
    Oct 13, 2010
    Posts:
    5,822
    Then your argument is invalid :D
    Yes, everyone knows the built in UI is pretty much useless and has terrible performance.
     
  24. NoBullIntentions_P

    NoBullIntentions_P

    Joined:
    Jul 2, 2012
    Posts:
    312
    You asked whether it was a good idea, and people gave you a whole host of reasons why it wasn't. So when you say you "don't know" why people are advising you not to go for it, you're either being disingenuous or you didn't read any of the replies. If you meant to ask "I'm determined to do this in Unity regardless of whether it's a good choice or not. Is that ok?" - which now appears to be the question you wanted to ask in the first place - I'm sure you would have got different answers.

    I've said this before to many people, and I don't want it to seem like I'm singling you out, but it's appropriate advice for you. It's really important to ask the question you really want to ask. If you want people to tell you that the decision you've already made before posting is a good one regardless of whether it is or not, at least give a hint that you want a soft-soap response. I can't speak for anyone else, but I am more than happy to give soft-soap responses if I know people want them. If I don't know that people want them, I tend to give honest answers because I think I'm doing that person no favours to lie to them.

    No. NGUI is a great product and for game development, it's an excellent choice, but it doesn't have the features you refer to and I think it's a very bad choice for the kind of work you're doing. However, I'm quite certain that a dogmatic approach will allow you to force a square peg into a round hole.
     
  25. GeorgeRigato

    GeorgeRigato

    Joined:
    Jul 5, 2012
    Posts:
    58
    Well, I'm just trying to contribute with my experience. As I said, optimizing it could worth the shot. I didn't had the opportunity to try and discover if it would solve the issue.
     
  26. Meltdown

    Meltdown

    Joined:
    Oct 13, 2010
    Posts:
    5,822
    In most cases, it would definately solve the issue :)
     
  27. GeorgeRigato

    GeorgeRigato

    Joined:
    Jul 5, 2012
    Posts:
    58
    I see. Thanks for the tip.
     
  28. jessica1986

    jessica1986

    Joined:
    Feb 7, 2012
    Posts:
    621
    Thank you all for your reply back. I am still not clear of what to do as tidesdk is also being mentioned as "risky" to use as it is not officially being updated by titanium or something.


    If i say, ok lets not get into unity3d then -
    So am i left with visual studio to target windows, asp for web and mono for ios/android. Develop using 3 different platforms and still cant target desktop version for mac, isnt this frustrating for a small team.
     
  29. Amon

    Amon

    Joined:
    Oct 18, 2009
    Posts:
    1,384
    jessica1986!

    I've noticed a change in your grammar, sentence completion, structure and spelling. You are definitely not the person who was using this account before. I have been a little suspicious of your motives having read some of the things you say and the general impression you give out on the forum, at least the impression I am able to ascertain from the information you give out; the conclusion in my mind is that you are a false entity; false in that the person you are trying to convince others, me, that you are, is not who you are.

    Reading your latest posts has prompted this reply because like I said in the beginning bit of my post a lot has changed regarding your posting manner.

    The reason you are doing this is due to frustration and your disbelief in yourself that you can be accepted, in general. This is how what you are doing on this forum has manifested itself.

    It's a little complicated for me to explain as it would require a lot of typing and I just don't have the time. Needless to say you are not fooling me.

    That is my last reply to you and to any thread you start!
     
  30. zombiegorilla

    zombiegorilla

    Moderator

    Joined:
    May 8, 2012
    Posts:
    9,052
    I think you are overcomplicating things. Just use HTML.
    - Very fast for displaying data like tables and structured display.
    - Develop only once. Back end would be whatever you want for serving up the data, asp/php/whatever.
    - Simple app wrapper for the display for devices/mac/windows.
    That is kind of the point of HTML.
     
  31. dkozar

    dkozar

    Joined:
    Nov 30, 2009
    Posts:
    1,410
    There's no need to be afraid of Unity inside the RIA world. I have many positive experiences in dealing with it. For instance, this Unity app communicating with Flickr and displaying photos. Also, I've been using Drupal (the CMS built on PHP) for backend via REST, and it works great.

    However, there is thing I'd like to point out: the necessity to switch to asynchronous domain. Then everything starts to make sense. Here's the open-source lib doing just that: https://github.com/dkozar/eDriven
     
    Last edited: Nov 2, 2012
  32. jessica1986

    jessica1986

    Joined:
    Feb 7, 2012
    Posts:
    621
    Edriven looks cool but will it be compatible with unity 4 and future versions ?i dont want to get into odd situation tomm...where as ngui looks promising which can be extended a lot.
    I was very very confused before thinking about what all do I need to learn ?visual c# , asp , titanium to cover all what I am in need of ?
    Or just unity3d.

    Well I have decided to go with unity and ngui. I have found igui a lot better of use than ngui but I am afraid of the performance. I can use igui
    As a drag drop in game mode...wow isnt it time saving ? I have asked the nators of igui to suggest me..

    I hope unity doesnt disappoint me !
     
    Last edited: Nov 2, 2012
  33. zombiegorilla

    zombiegorilla

    Moderator

    Joined:
    May 8, 2012
    Posts:
    9,052
    While that is interesting and I am sure it might useful for integrating with unity based projects where needed, for a simple planner/invoice type app there is no value added.

    Like anything, right tool for the right job. You could write it all in Perl, or Java and render all the output as images, or output it server side as pdfs and create a viewer and stream them. There are a ton of crazy things that 'can' be done for giggles or to prove it can be done. But if the goal is to actually build it, and not to prove it can be built, there is no reason to add several unnecessary tools.

    In the end it just 'CRUD' of text/numbers in tabular form. The simplest and least overhead way to do this html wrapped. None of the other toolsets/methods mentioned can offer anything of extra value at all, and all add additional costs in terms of time to build and end performance.
     
  34. jessica1986

    jessica1986

    Joined:
    Feb 7, 2012
    Posts:
    621
    html wrapped ? how and is it safe, i mean if i deliver the code to client, can he unwrap it or not ?? and just to get more knowledge will i be using js to connect to mysql [local and web] ??

    @ The Happiest Place on Earth, its a nice one :)
     
  35. zombiegorilla

    zombiegorilla

    Moderator

    Joined:
    May 8, 2012
    Posts:
    9,052
    Sure, it is just as safe as any other method. Basically in your rich clients, you just use the html renderer to display the content. The App is the wrapper. You can deliver it to the client anyway you want, straight html, xml, some other form of data structure and then have something that builds the html client side. Think of like writing your own custom browser, only all the work is already done. Many of the data based apps in the app store are just html wrappers. You can use any standard web auth/encryption. The nice thing is that all the ui/layout is dead simple as it is just css, all your interaction widgets are already built, and for advanced interactions you can simply use an existing tool like tweenmax/jquery, etc... Backend communication is the same as any other as well.

    Thing is, with any other tool, you are essentially replicating what html does. And unless you need 3d or some sort of advanced client side processing, everything else is overkill. (and way more work).

    It is indeed, and now we have Wookies!
     
  36. dkozar

    dkozar

    Joined:
    Nov 30, 2009
    Posts:
    1,410
    I completely agree. I was thinking of scenario where Unity app is in the center of interest and you are trying to avoid the usage of other technologies. For instance, some people are building social apps with Unity. They have the need to connect to server, and don't want to introduce Javascript popups in front of the app. Also, if this is not a web app (is standalone), there's no possibility of Javascript in the first place.

    I only said that, from my experience, anything RIA could be done using Unity. I've seen only one thing that isn't doable: that is making payments using 3-D Secure from Unity; the reason is that they are forcing redirection to their servers and filling up sensitive data directly via their web pages.

    Of course, if you have the client who wants to build just the web app, you have a plenty technologies to choose from, using Unity would be an overkill. HTML5 and Javascript frameworks would be the most appropriate I guess.
     
  37. dkozar

    dkozar

    Joined:
    Nov 30, 2009
    Posts:
    1,410
    It will work even better (faster, better GC etc.) on Unity 4. eDriven framework uses only the standard Unity stuff the UT is going to support in the future.
     
  38. jessica1986

    jessica1986

    Joined:
    Feb 7, 2012
    Posts:
    621
    i checked that, works like a charm, i dont have 250$ to get eDriven, if i had it i would have bought it right away.

    I will be using html5,css,js for my project and wrap it using appjs for desktop versions and phonegap for mobiles, Now i am only left with 1 hurdle.

    My app will have a standalone version where in the data will be saved in local system of the client, like in mysql.
    Now i am thinking of not using php and if there is some other way to connect html5 to mysql because my client wont be able to start the wamp server daily.
    Can you guide me any solution to this problem ?
     
  39. jessica1986

    jessica1986

    Joined:
    Feb 7, 2012
    Posts:
    621
    i got every answer to my queries, i have found the solution.

    thank you all.
     
  40. goat

    goat

    Joined:
    Aug 24, 2009
    Posts:
    5,182
    In my opinion, I'd adapt the code from the Soomla Project (http://project.soom.la/). After Unity releases it's new GUI it'd be worth investigating again as a way to publish to all major platforms for such a project as yours.
     
  41. zombiegorilla

    zombiegorilla

    Moderator

    Joined:
    May 8, 2012
    Posts:
    9,052
    More important than simply stating it can be done, you have shown that it can be done.

    I just wanted to clarify that I am very impressed with eDriven. My primary focus over the years has been front end engineering/design specifically with regards to ui/ux in a variety of platforms. And what you have done with eDriven is a monumental task even in the best of environments. That you delivered this type of framework for Unity is very impressive. It is a robust and fantastic work with great attention to detail.
     
  42. dkozar

    dkozar

    Joined:
    Nov 30, 2009
    Posts:
    1,410
    Oh, thank you! :) I'm glad you've recognized my efforts.

    What I wanted to show is that Unity working in the client-server regime, as a 100x100% sized client app is completely possible and is as good as other client-side technologies.

    For me (as Flex, Actionscript and Javascript programmer) it's even better because you don't have the lack of compile time checking (Javascript) and slow und unresponsive IDE (Flash Builder). Using the Visual Studio is really a great benefit because it is (my personal opinion) the best IDE around. Especially if you install ReSharper as a plugin. :) It's really a pleasure to develop with.
     
  43. jessica1986

    jessica1986

    Joined:
    Feb 7, 2012
    Posts:
    621
    i would never like to do programming in Visual studio.

    1. You code in Visual c# and you export to only desktop.
    2. You code in asp + c# and get the web version
    Its so unlikely, you need to code in 3,4 different ways and still you cant cover the platforms