Quantcast

Maximum PC

It is currently Wed Jul 23, 2014 5:06 pm

All times are UTC - 8 hours




Post new topic Reply to topic  [ 17 posts ] 
Author Message
 Post subject: What's needed for a chat application?
PostPosted: Sat Mar 24, 2012 11:18 am 
Smithfield
Smithfield

Joined: Sun Jun 18, 2006 7:37 pm
Posts: 5033
This might be too much of a first project, but I'm looking to see what's needed for a browser based chat application, with the following requirements:

  • Must be able to run "out of the box" for the major five browsers. So I'm not looking for a Java, Flash, or (I'm assuming it needs something more) ASP.NET based development.
  • Design should be more or less modular from the application. Probably wishful thinking, but someone else is designing the layout, so what I'd like to do is just plug that into the application and everything will be hunky dory.
  • Must at least play sound.
  • Must support user accounts.
  • Must support logging (both on the server and the user's machine)

The one thing that keeps coming to me is PHP, MySQL, and JQuery or some such. Anything else?

I should point out, I have pretty much zilch experience with web applications. But that won't stop me :D


Top
  Profile  
 
 Post subject: Re: What's needed for a chat application?
PostPosted: Sat Mar 24, 2012 11:32 am 
Thoroughbred
Thoroughbred
User avatar

Joined: Sat May 07, 2011 12:30 pm
Posts: 1922
Location: A place not actively occupied by something else.
Actually, Java's still a good idea. I think the Kongregate chat applet is made in Java, and I know there are IRC clients made in Java. It will run out of the box on almost all systems.

Also, some sort of friends list is a good feature to have. In a chat app, I want to be able to find my friends easily.


Top
  Profile  
 
 Post subject: Re: What's needed for a chat application?
PostPosted: Sat Mar 24, 2012 11:54 am 
Smithfield
Smithfield

Joined: Sun Jun 18, 2006 7:37 pm
Posts: 5033
noghiri_x wrote:
Actually, Java's still a good idea. I think the Kongregate chat applet is made in Java, and I know there are IRC clients made in Java. It will run out of the box on almost all systems.

Also, some sort of friends list is a good feature to have. In a chat app, I want to be able to find my friends easily.

The person I spoke to about doing this seems to have a problem with JVM on their computer, which was some of the reason to avoid it. But I threw the possibility anyway because it's more of something I could work with.


Top
  Profile  
 
 Post subject: Re: What's needed for a chat application?
PostPosted: Sat Mar 24, 2012 3:43 pm 
Thoroughbred
Thoroughbred
User avatar

Joined: Sat May 07, 2011 12:30 pm
Posts: 1922
Location: A place not actively occupied by something else.
Oh. That makes sense.

You could use Java for the main app, and MySQL for logging. MySQL is specifically for databases and logging, and would be perfect for this.

Just throwing out ideas; I don't have all that much experience programming.


Top
  Profile  
 
 Post subject: Re: What's needed for a chat application?
PostPosted: Mon Apr 23, 2012 1:42 pm 
Bitchin' Fast 3D Z8000*
Bitchin' Fast 3D Z8000*
User avatar

Joined: Tue Jun 29, 2004 11:32 pm
Posts: 2555
Location: Somewhere between compilation and linking
This is project is far too ambitious for a first time project. Consider doing something far simpler, and more worthwhile, until you have the necessary experience.


Top
  Profile  
 
 Post subject: Re: What's needed for a chat application?
PostPosted: Mon Apr 23, 2012 4:11 pm 
Smithfield
Smithfield

Joined: Sun Jun 18, 2006 7:37 pm
Posts: 5033
If I knew what was required for this, then I could start on simpler projects based on those languages until I got a handle on them.

I'm not a stranger to programming relatively complex systems either.


Top
  Profile  
 
 Post subject: Re: What's needed for a chat application?
PostPosted: Mon Apr 23, 2012 7:34 pm 
Bitchin' Fast 3D Z8000*
Bitchin' Fast 3D Z8000*
User avatar

Joined: Tue Jun 29, 2004 11:32 pm
Posts: 2555
Location: Somewhere between compilation and linking
LatiosXT wrote:
This might be too much of a first project...

Obviously, I took first project to mean a literal "first project".

LatiosXT wrote:
  • Must be able to run "out of the box" for the major five browsers. So I'm not looking for a Java, Flash, or (I'm assuming it needs something more) ASP.NET based development.

There are several Java chat clients which utilize a Java application server (e.g. Tomcat). I'm sure this is also true for the MS versions of the web application ecosystem.

LatiosXT wrote:
  • Design should be more or less modular from the application.

  • Huh? Are you suggesting something like a meta-gui description language that can simply be used with any number of programming languages?

    LatiosXT wrote:
    Probably wishful thinking, but someone else is designing the layout, so what I'd like to do is just plug that into the application and everything will be hunky dory.

    Yeah, I would categorize that as wishful thinking too. =) What language is the other person using?

    LatiosXT wrote:
  • Must support user accounts.

  • Hmm... what code are you planning on writing?

    LatiosXT wrote:
  • Must support logging (both on the server and the user's machine)

  • This could be a bit messy on the client-side with various security policies, etc.

    LatiosXT wrote:
    The one thing that keeps coming to me is PHP, MySQL, and JQuery or some such. Anything else?

    Sure, why not. Again, I don't see why you'd want to write a chat application given the proliferation of chat applications, but to each his own, I suppose. Why not just review the source code for an existing OSS application instead?


    Top
      Profile  
     
     Post subject: Re: What's needed for a chat application?
    PostPosted: Mon Apr 23, 2012 7:38 pm 
    Bitchin' Fast 3D Z8000*
    Bitchin' Fast 3D Z8000*
    User avatar

    Joined: Tue Jun 29, 2004 11:32 pm
    Posts: 2555
    Location: Somewhere between compilation and linking
    noghiri_x wrote:
    You could use Java for the main app, and MySQL for logging.

    Java has a pretty extensive Logging API.

    noghiri_x wrote:
    MySQL is specifically for databases and logging, and would be perfect for this.

    MySQL IIISSSS a database. A Relational Database Management System to be more exact (more or less... there are good arguments pro/con about MySQL).


    Top
      Profile  
     
     Post subject: Re: What's needed for a chat application?
    PostPosted: Fri Jun 08, 2012 11:33 am 
    Bitchin' Fast 3D Z8000
    Bitchin' Fast 3D Z8000
    User avatar

    Joined: Mon Jun 14, 2004 4:04 pm
    Posts: 985
    Location: Earth
    LatiosXT wrote:
    [list][*]Must be able to run "out of the box" for the major five browsers. So I'm not looking for a Java, Flash, or (I'm assuming it needs something more) ASP.NET based development.


    Java (JSP) and ASP.NET (MVC or *ugh* Webforms) runs on any major browser. IE6-9, FF and Chrome...not sure what your bias is against them.

    Quote:
    [*]Design should be more or less modular from the application. Probably wishful thinking, but someone else is designing the layout, so what I'd like to do is just plug that into the application and everything will be hunky dory.


    Then don't use PHP. PHP was never designed to be modular.

    Quote:
    [*]Must at least play sound.

    HTML5 may support this, check out modernizr if they support this in their JS lib.

    Again, this is ambitious but not impossible. Here are some caveats:

    - You'll need to have a real-time javascript library that will poll the server. I would suggest using SignalR which is a real-time notification javascript library. It supports HTML5 web sockets but will default to AJAX long polling if the browser doens't support it.

    - You'll need a back-end server that can do massive concurrency. One way to get around this is to use asynchronous operations in C# 5 (.NET 4.5) and ASP.NET MVC 4. You can use the Task Parallel Library to build asynchronous actions, so instead of building concurrent workers, build asynchronous workers instead.

    - Everything else is a cake walk. The chat app is the hardest part.


    Top
      Profile  
     
     Post subject: Re: What's needed for a chat application?
    PostPosted: Fri Jun 08, 2012 11:38 am 
    Bitchin' Fast 3D Z8000
    Bitchin' Fast 3D Z8000
    User avatar

    Joined: Mon Jun 14, 2004 4:04 pm
    Posts: 985
    Location: Earth
    Web apps have grown up in the last year or so. The MSFT ecosystem of web tech is way more advanced than Java's IMO.
    One could accomplish a chat app in ASP.NET MVC pretty easily:

    - MVC 4 w/ asynchronous actions (routes)
    - Knockout.js and SignalR for their javascript library

    SignalR is a real-time javascript library, perfect for this type of stuff. I haven't played with it much but from the demos i've seen, it's pretty impressive.


    Top
      Profile  
     
     Post subject: Re: What's needed for a chat application?
    PostPosted: Mon Jun 11, 2012 11:30 pm 
    8086
    8086

    Joined: Mon Jun 11, 2012 10:51 pm
    Posts: 11
    Is it script language necessary?
    What if I am quite into C and I wanna make a project or application as well ?
    Is it suitable or not ?
    Can you give some hints about what can I do using C ?


    Top
      Profile  
     
     Post subject: Re: What's needed for a chat application?
    PostPosted: Tue Jun 12, 2012 12:24 pm 
    Smithfield
    Smithfield

    Joined: Sun Jun 18, 2006 7:37 pm
    Posts: 5033
    As with most side projects of mine, I put this aside.


    Top
      Profile  
     
     Post subject: Re: What's needed for a chat application?
    PostPosted: Tue Jun 12, 2012 2:34 pm 
    Bitchin' Fast 3D Z8000*
    Bitchin' Fast 3D Z8000*
    User avatar

    Joined: Tue Jun 29, 2004 11:32 pm
    Posts: 2555
    Location: Somewhere between compilation and linking
    chengmo03013106 wrote:
    Is it script language necessary?

    You can write a chat application in a language like C. Several IRC clients are written in C. However, I don't know of any frameworks that will allow you to write a C based web app that runs inside a browser. I'm not sure why you'd want to do this either.

    chengmo03013106 wrote:
    What if I am quite into C and I wanna make a project or application as well ?
    Is it suitable or not ?

    Being "quite into C", which I assume means that you're a competent C programmer, and asking what is a suitable C project / application don't really jive. There are a number of applications for which C is suitable. After all, it is a general purpose programming language. However, due to the added complexity and cost of writing C based software, industry has narrowed down the number of areas in which C development occurs to mostly areas where memory and timing constraints are tight (or areas right above one of these areas like driver development).

    The most popular areas are probably:
    • real-time systems
    • embedded systems
    • operating system and driver development
    • video games
    • servers (eg a web server or database)

    chengmo03013106 wrote:
    Can you give some hints about what can I do using C ?

    http://freecode.com/tags/c


    Top
      Profile  
     
     Post subject: Re: What's needed for a chat application?
    PostPosted: Sat Jun 16, 2012 6:05 pm 
    8086
    8086

    Joined: Mon Jun 11, 2012 10:51 pm
    Posts: 11
    Gadget wrote:
    chengmo03013106 wrote:
    Is it script language necessary?

    You can write a chat application in a language like C. Several IRC clients are written in C. However, I don't know of any frameworks that will allow you to write a C based web app that runs inside a browser. I'm not sure why you'd want to do this either.


    hah~ you are right, it is kinda wasting if I write a app inside a browser by C.
    We should used the right tools to do right things, right ?

    Gadget wrote:
    chengmo03013106 wrote:
    What if I am quite into C and I wanna make a project or application as well ?
    Is it suitable or not ?

    Being "quite into C", which I assume means that you're a competent C programmer, and asking what is a suitable C project / application don't really jive. There are a number of applications for which C is suitable. After all, it is a general purpose programming language. However, due to the added complexity and cost of writing C based software, industry has narrowed down the number of areas in which C development occurs to mostly areas where memory and timing constraints are tight (or areas right above one of these areas like driver development).

    The most popular areas are probably:
    • real-time systems
    • embedded systems
    • operating system and driver development
    • video games
    • servers (eg a web server or database)

    Actually, I have been in embedded systems and driver development in the company. But you know what, the projects are not enough as Chinese programmer especially in state-owned company. The admin who always doesn't pay attention on technology.
    We don't often communicate with open source.
    So I have no more chance to practice.
    As you said, the video games is popular with C ? really, I always wanna work in video game. it 's a pity that there is no video game company in China, At least I haven't heard about it.
    Gadget wrote:
    chengmo03013106 wrote:
    Can you give some hints about what can I do using C ?

    http://freecode.com/tags/c


    Thank you for that. I will check it.


    Top
      Profile  
     
     Post subject: Re: What's needed for a chat application?
    PostPosted: Mon Jun 18, 2012 9:45 pm 
    Bitchin' Fast 3D Z8000*
    Bitchin' Fast 3D Z8000*
    User avatar

    Joined: Tue Jun 29, 2004 11:32 pm
    Posts: 2555
    Location: Somewhere between compilation and linking
    chengmo03013106 wrote:
    As you said, the video games is popular with C ? really, I always wanna work in video game. it 's a pity that there is no video game company in China, At least I haven't heard about it.

    Most video game development has probably moved to C++ now. I'm sure there are some studios still using C though.
    Most of the libraries are also written in either C or C++. Python has become pretty popular as a scripting language for game engines.


    Top
      Profile  
     
     Post subject: Re: What's needed for a chat application?
    PostPosted: Tue Jun 19, 2012 3:39 pm 
    8086
    8086

    Joined: Mon Jun 11, 2012 10:51 pm
    Posts: 11
    Gadget wrote:
    chengmo03013106 wrote:
    As you said, the video games is popular with C ? really, I always wanna work in video game. it 's a pity that there is no video game company in China, At least I haven't heard about it.

    Most video game development has probably moved to C++ now. I'm sure there are some studios still using C though.
    Most of the libraries are also written in either C or C++. Python has become pretty popular as a scripting language for game engines.


    Python and Ruby are scripting languages has become more popular for game and internet.
    Actually, I have never heard about the video game used by C or C++ ?
    Could you give an example ?
    It might be not famous in China or some core partial is not recruit Chinese programmer ? Don't they ?


    Top
      Profile  
     
     Post subject: Re: What's needed for a chat application?
    PostPosted: Tue Jun 19, 2012 4:19 pm 
    Bitchin' Fast 3D Z8000*
    Bitchin' Fast 3D Z8000*
    User avatar

    Joined: Tue Jun 29, 2004 11:32 pm
    Posts: 2555
    Location: Somewhere between compilation and linking
    chengmo03013106 wrote:
    Actually, I have never heard about the video game used by C or C++ ? Could you give an example ?
    Often the game engine is written in C or C++ with an internal scripting engine (frequently Python). You can learn quite a bit
    about game programming at [url=gamasutra.com]Gamasutra[/url].

    chengmo03013106 wrote:
    It might be not famous in China or some core partial is not recruit Chinese programmer ? Don't they ?
    That part didn't compile. =)


    Top
      Profile  
     
    Display posts from previous:  Sort by  
    Post new topic Reply to topic  [ 17 posts ] 

    All times are UTC - 8 hours


    Who is online

    Users browsing this forum: No registered users and 1 guest


    You cannot post new topics in this forum
    You cannot reply to topics in this forum
    You cannot edit your posts in this forum
    You cannot delete your posts in this forum
    You cannot post attachments in this forum

    Search for:
    Jump to:  
    Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group