It's all totally possible.  However, you are stepping into a different 
paradigm with a Single Page App (SPA), especially with angular, and 
especially coming from .NET.

Instead of each page requested having it's final html delivered to the 
browser by the server based on server-side logic, it's all in templates 
shown based on conditions (example: the location path determines the view, 
which loads templates from javascript or relative url retrieved via ajax). 
 All templates are just html files that use interpolation (no C# code with 
code-behind or any other server logic building the html).  

Hi {{user.name}} 

..and directives that define custom elements along with behavior.

<div my-pretty-slider></div>

//simplification for concept, not usable code
angular.directive('myPrettySlider', function(element){
  
  var slides = [ {image: '/path/to/image1'}, {image: '/path/to/image2' ]
  $(element).slideshow(slides);

})

If you are going to use angular, I'm not sure you'll need ASP's MVC as much 
as you'll need to build your ajax calls into a meaningful API so that all 
data from the database is represented for the types of views you will 
display. A RESTful api is even nicer because you can user angular's 
$resource object.  I've only worked with .NET some years ago, so someone 
else might know better...but I say don't spend too much on it's MVC if you 
are building a SPA.

Here are my thoughts on your project needs:


1. Sending E-mails

The view can show your template for a new email. The user enters their 
message details and hits send.  The page does not post in the browser, 
instead the submit button is bound to a method that makes the ajax calls 
and provides the info to the server which then shoots off the email (or 
queues it) and the server responds with something like { error: false, 
message: 'Your message was sent successfully' } which then causes your app 
to display this response automatically because of declaritive programming 
(no more calls like this $('$message').text(response.message).show() )


2. Displaying content from database (in any manner using Ajax)

  Yes, that's one of the beauties of angular.  When your data is returned 
from the server via ajax (json), you bind it to the template and presto the 
data is displayed.
<ul>
  <li ng-repeat="row in userTable">
     <span ng-repeat="field in row.fields">{{field.name}}</span>
  </li>
</ul>


3. Voice chat, Video chat, Text chat

Yes you can do it.  

Angular gives you the framework to help you organize, even "architect" your 
javascript into an app that helps prevent spaghetti code, but it does not 
provide how to do it with built-in easy to use plugins for flash or html5 
or whatever other embedded software you might need.  You will be writing 
'directives' and 'services' and 'factories' and similar to provide this 
functionality. 

Even if you know a jQuery plugin to do it, you will implement it in a 
fashion that will require additional work to keep it in the "scope" of 
angular.
Instead of $(document).ready(function(){ $('button#send').click(function(){ 
$.ajax() }) })
You would do something like:

<button ng-click="send()">Send</button>

$scope.send = function(){ 
  EmailService.send({ ...data... }); //services are a good place to define 
ajax calls
}


4. Can contain Javascript/JS Libraries, jQuery, CSS, HTML5, jQuery-Ajax

You can include just about any javascript library, within reason.  Some 
would be counter-intuitive, but angular has most what you need to get 
started and a growing set of extended functionality like Twitter Bootstrap 
modules: http://angular-ui.github.io/bootstrap/ 

If you are set on being able to pull in whatever library you want and then 
just making a single initialization call like with many jQuery plugins out 
there then Angular probably isn't for you.  

It works with all CSS and HTML5.  

You will need to give up jQuery Ajax calls and rewrite them using angular's 
$http or $resource.  Angular won't prevent you using jQuery ajax but it's 
counter-productive and in the long run you'd see why.


5. Big
You will need to do some research on this and look into lessons others have 
learned from as well as directory structure for large apps.


CLOSING NOTES: Personally, angular has been totally worth it.  But prepare 
for a learning curve in the way you think about writing html and 
javascript.  Angular is *declarative.  *You are going to learn a new way to 
program website and  you will have to drop some of the ways you think about 
writing web pages coming from jQuery and .NET.



On Sunday, February 23, 2014 1:54:37 AM UTC-7, Arshad Nazeer wrote:
>
> I want to create a web application and I am exploring how I could do this. 
> So I came across AngularJS. I want to use WCF Service and SQL Server in my 
> application also. I am trying to find what AngularJS, WCF Service, SQL 
> Server can do for me because I do not want change technologies in the 
> middle of my project after discovering that AngularJS cannot do things 
> which I want my application to do.
>
> So, my question is can AngularJS help me create Static web pages and 
> Dynamic web pages? I can start my project in ASP.NET MVC but I want to 
> explore AngularJS and want to find out what it is.
>
> My project is about..
>
> 1. Sending E-mails
>
> 2. Displaying content from database (in any manner using Ajax)
>
> 3. Voice chat, Video chat, Text chat
>
> 4. Can contain Javascript/JS Libraries, jQuery, CSS, HTML5, jQuery-Ajax
>
> 5. Big
>
> Tell me something about it. Any suggestions? Tell me which is possible 
> which is not possible.
>
> Thank you very much
>

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to