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

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.

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?

[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.

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).

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.

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.

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 ?

Who is online

Users browsing this forum: No registered users and 1 guest

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