Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. What technology stack would you recommend as I start my first ever ASP.NET real project?

What technology stack would you recommend as I start my first ever ASP.NET real project?

Scheduled Pinned Locked Moved The Lounge
rubyasp-netcsharpcomdata-structures
35 Posts 14 Posters 4 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Marc Clifton

    Hi Folks, I'm about to kick off a very interesting project for the Department of Public Works. It's interesting because I'm doing it pro bono, I've not done ASP.NET before, and I get to architect the thing any way I want, which means small baby steps in my spare time. The benefits will eventually be, besides having ASP.NET experience, putting something together that apparently lots of municipalities could use and the potentially turning "free" into something lucrative. We won't discuss the down sides. ;) Anyways, there's a lot of tech options out there for ASP.NET / Razor / MVC / Whatever coupled with jWhatever etc, etc. I am though seriously considering using DevExpress web controls, though possibly Telerik's which look pretty darn cool. While I'm starting with a basic concept -- an admin screen for filling in things like equipment, labor rates, materials and costs, and putting together a form where people can create a project estimate, this will need to eventually include tracking the actual project costs, for large projects splitting them into phases, etc. So what do you all suggest as the technology stack, staying within the boundaries of .NET and C#, for putting together a snazzy web site with the least effort? (And no, I do NOT want to do this in Ruby on Rails, I'm feeling quite done with duck-typed languages and crappy 3rd party open source components.) [edit] BTW, I came across this by subscribing to http://www.codeforamerica.org/[^] and responding to a request somebody made on one of the forums. [/edit] Marc

    Imperative to Functional Programming Succinctly Higher Order Programming

    J Offline
    J Offline
    Judah Gabriel Himango
    wrote on last edited by
    #8

    Hi Marc, I've been doing web stuff for several years now, having moved from desktop dev (MFC, WinForms, WPF, Silverlight) to ASP.NET web stuff. Here's my preferred web stack:

    • Bootstrap. CSS framework. It's a consistent style for your whole site. Makes it easy to build responsive sites that work well across all screen sizes. It makes it easy to do things like modal dialog boxes, gives you a consistent appearance across your whole site, and gives you some nice common web components such as drop-downs and navbars[^].

    • jQuery - DOM manipulation framework, helps you do HTML manipulation consistently across all browsers. It's required by Bootstrap and still quite handy when you need to manipulate HTML elements by hand.

      // Manually manipulate your HTML using jQuery.
      $("#someHtmlElement").text("some new text here!");

    • KnockoutJS - Databinding and MVVM pattern. It lets you do things like this:

      // JS
      var myViewModel = {
      foo: 42
      };
      ko.applyBindings(myViewModel);

    • ASP.NET MVC and ASP.NET WebAPI - MVC (with Razor) for server-rendering your HTML, and WebAPI for fetching data asynchronously.

    I personally stay away from things like UI control frameworks. I find them to be vestiges of the desktop world that really aren't necessary in the web stack. There are some decent ones out there, such as Telerik's Kendo UI[^], but it's not really necessary. One more thing. The hot new sexy thing everyone's worked up about is Google's AngularJS[^]. I've used this now on my last 2 web projects. Like Knockout, it provides data binding. Additionally, it's a full fledged MVC framework in JavaScript, providing client-side routing, data binding, seperation of concerns between view (HTML), presentation logic (controllers in JavaScript), and data services (data fetching AJAX calls). Use it if you're building a dynamic web app; e.g. where the UI changes often and shows

    M J B 4 Replies Last reply
    0
    • Kornfeld Eliyahu PeterK Kornfeld Eliyahu Peter

      I would go with MCV/Razor (you may also add Web API support to enable access from different clients) - this kind of VS project already makes use of jQuery, bootstrap and modernizr... I worked both with DevExpress and Telerik. Telerik looks cooler and easier to utilize and config (including look), but DevExpress performs slightly better... VS will create you a basic project, with modern look and login/register pages - if you interested... (If you think to do it public you may find others to join in...at the end you can share with them the prize :-) )

      I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)

      M Offline
      M Offline
      Marc Clifton
      wrote on last edited by
      #9

      Kornfeld Eliyahu Peter wrote:

      If you think to do it public you may find others to join in...at the end you can share with them the prize

      Indeed, that is the intention! Marc

      Imperative to Functional Programming Succinctly Higher Order Programming

      Kornfeld Eliyahu PeterK 1 Reply Last reply
      0
      • J Judah Gabriel Himango

        Hi Marc, I've been doing web stuff for several years now, having moved from desktop dev (MFC, WinForms, WPF, Silverlight) to ASP.NET web stuff. Here's my preferred web stack:

        • Bootstrap. CSS framework. It's a consistent style for your whole site. Makes it easy to build responsive sites that work well across all screen sizes. It makes it easy to do things like modal dialog boxes, gives you a consistent appearance across your whole site, and gives you some nice common web components such as drop-downs and navbars[^].

        • jQuery - DOM manipulation framework, helps you do HTML manipulation consistently across all browsers. It's required by Bootstrap and still quite handy when you need to manipulate HTML elements by hand.

          // Manually manipulate your HTML using jQuery.
          $("#someHtmlElement").text("some new text here!");

        • KnockoutJS - Databinding and MVVM pattern. It lets you do things like this:

          // JS
          var myViewModel = {
          foo: 42
          };
          ko.applyBindings(myViewModel);

        • ASP.NET MVC and ASP.NET WebAPI - MVC (with Razor) for server-rendering your HTML, and WebAPI for fetching data asynchronously.

        I personally stay away from things like UI control frameworks. I find them to be vestiges of the desktop world that really aren't necessary in the web stack. There are some decent ones out there, such as Telerik's Kendo UI[^], but it's not really necessary. One more thing. The hot new sexy thing everyone's worked up about is Google's AngularJS[^]. I've used this now on my last 2 web projects. Like Knockout, it provides data binding. Additionally, it's a full fledged MVC framework in JavaScript, providing client-side routing, data binding, seperation of concerns between view (HTML), presentation logic (controllers in JavaScript), and data services (data fetching AJAX calls). Use it if you're building a dynamic web app; e.g. where the UI changes often and shows

        M Offline
        M Offline
        Marc Clifton
        wrote on last edited by
        #10

        Judah Himango wrote:

        There are some decent ones out there, such as Telerik's Kendo UI[^], but it's not really necessary.

        Yes, I've been watching what's going on there.

        Judah Himango wrote:

        The hot new sexy thing everyone's worked up about is Google's AngularJS[^]. I've used this now on my last 2 web projects.

        Yup, I'm looking at that. What ever happened to node.js? I see no one has been suggesting that? Marc

        Imperative to Functional Programming Succinctly Higher Order Programming

        J Kornfeld Eliyahu PeterK 2 Replies Last reply
        0
        • M Marc Clifton

          Judah Himango wrote:

          There are some decent ones out there, such as Telerik's Kendo UI[^], but it's not really necessary.

          Yes, I've been watching what's going on there.

          Judah Himango wrote:

          The hot new sexy thing everyone's worked up about is Google's AngularJS[^]. I've used this now on my last 2 web projects.

          Yup, I'm looking at that. What ever happened to node.js? I see no one has been suggesting that? Marc

          Imperative to Functional Programming Succinctly Higher Order Programming

          J Offline
          J Offline
          Judah Gabriel Himango
          wrote on last edited by
          #11

          NodeJS is JavaScript on the server, e.g. a replacement for things like ASP.NET, Ruby on Rails, etc. I personally don't want JavaScript on the server. In fact, if I can tell you a dirty little secret, when on the client, I prefer TypeScript (or even CoffeeScript[^]) over raw JS. JS is missing a lot of things to make it a nice language for large apps. Languages like TypeScript and CoffeeScript help it in that regard while still compiling to plain ol' JS that runs in everybody's browser.

          My Messianic Jewish blog: Kineti L'Tziyon My software blog: Debugger.Break() Judah Himango

          M 1 Reply Last reply
          0
          • J Judah Gabriel Himango

            NodeJS is JavaScript on the server, e.g. a replacement for things like ASP.NET, Ruby on Rails, etc. I personally don't want JavaScript on the server. In fact, if I can tell you a dirty little secret, when on the client, I prefer TypeScript (or even CoffeeScript[^]) over raw JS. JS is missing a lot of things to make it a nice language for large apps. Languages like TypeScript and CoffeeScript help it in that regard while still compiling to plain ol' JS that runs in everybody's browser.

            My Messianic Jewish blog: Kineti L'Tziyon My software blog: Debugger.Break() Judah Himango

            M Offline
            M Offline
            Marc Clifton
            wrote on last edited by
            #12

            Judah Himango wrote:

            NodeJS is JavaScript on the server, e.g. a replacement for things like ASP.NET

            Ah! That helps.

            Judah Himango wrote:

            personally don't want JavaScript on the server.

            Agreed.

            Judah Himango wrote:

            I prefer TypeScript (or even CoffeeScript[^]) over raw JS.

            I will check those out. Thank you! Marc

            Imperative to Functional Programming Succinctly Higher Order Programming

            J 1 Reply Last reply
            0
            • J Judah Gabriel Himango

              Hi Marc, I've been doing web stuff for several years now, having moved from desktop dev (MFC, WinForms, WPF, Silverlight) to ASP.NET web stuff. Here's my preferred web stack:

              • Bootstrap. CSS framework. It's a consistent style for your whole site. Makes it easy to build responsive sites that work well across all screen sizes. It makes it easy to do things like modal dialog boxes, gives you a consistent appearance across your whole site, and gives you some nice common web components such as drop-downs and navbars[^].

              • jQuery - DOM manipulation framework, helps you do HTML manipulation consistently across all browsers. It's required by Bootstrap and still quite handy when you need to manipulate HTML elements by hand.

                // Manually manipulate your HTML using jQuery.
                $("#someHtmlElement").text("some new text here!");

              • KnockoutJS - Databinding and MVVM pattern. It lets you do things like this:

                // JS
                var myViewModel = {
                foo: 42
                };
                ko.applyBindings(myViewModel);

              • ASP.NET MVC and ASP.NET WebAPI - MVC (with Razor) for server-rendering your HTML, and WebAPI for fetching data asynchronously.

              I personally stay away from things like UI control frameworks. I find them to be vestiges of the desktop world that really aren't necessary in the web stack. There are some decent ones out there, such as Telerik's Kendo UI[^], but it's not really necessary. One more thing. The hot new sexy thing everyone's worked up about is Google's AngularJS[^]. I've used this now on my last 2 web projects. Like Knockout, it provides data binding. Additionally, it's a full fledged MVC framework in JavaScript, providing client-side routing, data binding, seperation of concerns between view (HTML), presentation logic (controllers in JavaScript), and data services (data fetching AJAX calls). Use it if you're building a dynamic web app; e.g. where the UI changes often and shows

              J Offline
              J Offline
              Jeremy Falcon
              wrote on last edited by
              #13

              :thumbsup: for jQuery and KnockoutJS

              Jeremy Falcon

              1 Reply Last reply
              0
              • J Judah Gabriel Himango

                Hi Marc, I've been doing web stuff for several years now, having moved from desktop dev (MFC, WinForms, WPF, Silverlight) to ASP.NET web stuff. Here's my preferred web stack:

                • Bootstrap. CSS framework. It's a consistent style for your whole site. Makes it easy to build responsive sites that work well across all screen sizes. It makes it easy to do things like modal dialog boxes, gives you a consistent appearance across your whole site, and gives you some nice common web components such as drop-downs and navbars[^].

                • jQuery - DOM manipulation framework, helps you do HTML manipulation consistently across all browsers. It's required by Bootstrap and still quite handy when you need to manipulate HTML elements by hand.

                  // Manually manipulate your HTML using jQuery.
                  $("#someHtmlElement").text("some new text here!");

                • KnockoutJS - Databinding and MVVM pattern. It lets you do things like this:

                  // JS
                  var myViewModel = {
                  foo: 42
                  };
                  ko.applyBindings(myViewModel);

                • ASP.NET MVC and ASP.NET WebAPI - MVC (with Razor) for server-rendering your HTML, and WebAPI for fetching data asynchronously.

                I personally stay away from things like UI control frameworks. I find them to be vestiges of the desktop world that really aren't necessary in the web stack. There are some decent ones out there, such as Telerik's Kendo UI[^], but it's not really necessary. One more thing. The hot new sexy thing everyone's worked up about is Google's AngularJS[^]. I've used this now on my last 2 web projects. Like Knockout, it provides data binding. Additionally, it's a full fledged MVC framework in JavaScript, providing client-side routing, data binding, seperation of concerns between view (HTML), presentation logic (controllers in JavaScript), and data services (data fetching AJAX calls). Use it if you're building a dynamic web app; e.g. where the UI changes often and shows

                M Offline
                M Offline
                Marc Clifton
                wrote on last edited by
                #14

                Judah Himango wrote:

                The hot new sexy thing everyone's worked up about is Google's AngularJS[^]

                This[^] (knockout vs angularjs) is an amusing read, especially the pictures at the end of the article! Thought you might enjoy it. Marc

                Imperative to Functional Programming Succinctly Higher Order Programming

                J 1 Reply Last reply
                0
                • M Marc Clifton

                  Judah Himango wrote:

                  NodeJS is JavaScript on the server, e.g. a replacement for things like ASP.NET

                  Ah! That helps.

                  Judah Himango wrote:

                  personally don't want JavaScript on the server.

                  Agreed.

                  Judah Himango wrote:

                  I prefer TypeScript (or even CoffeeScript[^]) over raw JS.

                  I will check those out. Thank you! Marc

                  Imperative to Functional Programming Succinctly Higher Order Programming

                  J Offline
                  J Offline
                  Judah Gabriel Himango
                  wrote on last edited by
                  #15

                  Cool. I know you're a C# guy, so TypeScript will make you feel right at home. Try it out in your browser[^]. TypeScript is created by Anders Heijlsberg, the creator of C#. Built into Visual Studio these days, so you can just Add New Item->TypeScript file, then start writing things like:

                  class MyAwesomeClass {

                  constructor(firstArg: string, someOtherArg: number) {
                  // ...
                  }

                  someFunc(answer: number): string {
                  return "The answer is: " + answer;
                  }

                  }

                  My Messianic Jewish blog: Kineti L'Tziyon My software blog: Debugger.Break() Judah Himango

                  1 Reply Last reply
                  0
                  • M Marc Clifton

                    Judah Himango wrote:

                    The hot new sexy thing everyone's worked up about is Google's AngularJS[^]

                    This[^] (knockout vs angularjs) is an amusing read, especially the pictures at the end of the article! Thought you might enjoy it. Marc

                    Imperative to Functional Programming Succinctly Higher Order Programming

                    J Offline
                    J Offline
                    Judah Gabriel Himango
                    wrote on last edited by
                    #16

                    Heheh. Their analogy via pictures is funny and accurate: Knockout is a tiny paddleboard (it really just does data binding!), whereas AngularJS is the big yacht that does data binding, routing, MVC, separation of concerns, dependency injection, and much more. Great analogy.

                    My Messianic Jewish blog: Kineti L'Tziyon My software blog: Debugger.Break() Judah Himango

                    1 Reply Last reply
                    0
                    • M Marc Clifton

                      Hi Folks, I'm about to kick off a very interesting project for the Department of Public Works. It's interesting because I'm doing it pro bono, I've not done ASP.NET before, and I get to architect the thing any way I want, which means small baby steps in my spare time. The benefits will eventually be, besides having ASP.NET experience, putting something together that apparently lots of municipalities could use and the potentially turning "free" into something lucrative. We won't discuss the down sides. ;) Anyways, there's a lot of tech options out there for ASP.NET / Razor / MVC / Whatever coupled with jWhatever etc, etc. I am though seriously considering using DevExpress web controls, though possibly Telerik's which look pretty darn cool. While I'm starting with a basic concept -- an admin screen for filling in things like equipment, labor rates, materials and costs, and putting together a form where people can create a project estimate, this will need to eventually include tracking the actual project costs, for large projects splitting them into phases, etc. So what do you all suggest as the technology stack, staying within the boundaries of .NET and C#, for putting together a snazzy web site with the least effort? (And no, I do NOT want to do this in Ruby on Rails, I'm feeling quite done with duck-typed languages and crappy 3rd party open source components.) [edit] BTW, I came across this by subscribing to http://www.codeforamerica.org/[^] and responding to a request somebody made on one of the forums. [/edit] Marc

                      Imperative to Functional Programming Succinctly Higher Order Programming

                      L Offline
                      L Offline
                      Leo Muller Rap
                      wrote on last edited by
                      #17

                      I dislike MVC, because it is unnecessarily complicated, and will take (me) longer to develop and maintain. But if you start today, MVC with Razor is the way to go. Everything else is just outdated. MVC razor is the most recent standard for working with asp.net. (at least it was two months ago, gosh things change rapidly) Leo

                      F 1 Reply Last reply
                      0
                      • M Marc Clifton

                        Hi Folks, I'm about to kick off a very interesting project for the Department of Public Works. It's interesting because I'm doing it pro bono, I've not done ASP.NET before, and I get to architect the thing any way I want, which means small baby steps in my spare time. The benefits will eventually be, besides having ASP.NET experience, putting something together that apparently lots of municipalities could use and the potentially turning "free" into something lucrative. We won't discuss the down sides. ;) Anyways, there's a lot of tech options out there for ASP.NET / Razor / MVC / Whatever coupled with jWhatever etc, etc. I am though seriously considering using DevExpress web controls, though possibly Telerik's which look pretty darn cool. While I'm starting with a basic concept -- an admin screen for filling in things like equipment, labor rates, materials and costs, and putting together a form where people can create a project estimate, this will need to eventually include tracking the actual project costs, for large projects splitting them into phases, etc. So what do you all suggest as the technology stack, staying within the boundaries of .NET and C#, for putting together a snazzy web site with the least effort? (And no, I do NOT want to do this in Ruby on Rails, I'm feeling quite done with duck-typed languages and crappy 3rd party open source components.) [edit] BTW, I came across this by subscribing to http://www.codeforamerica.org/[^] and responding to a request somebody made on one of the forums. [/edit] Marc

                        Imperative to Functional Programming Succinctly Higher Order Programming

                        B Offline
                        B Offline
                        Bajaja
                        wrote on last edited by
                        #18

                        Hi Marc, as it has been mentioned here most probably ASP.NET MVC seems a way to go. The ASP.NET webpages is slightly lighter and not that structured as MVC (which could be good if you want to ship something quickly that is pretty simple). ASP.NET webforms are still there but it is MVC that is catching a big momentum (if talking about Microsoft). Other non MS frameworks I heard of (but never touch them), your lovely ruby on rails and maybe java spring... Some people here are mentioning WebAPIs with rich client side javascript frameworks (AngularJS, typescript, coffeescript, etc.). I would use these if planning to do some apps on mobile devices. I would not bother if targeting purely website interface. Well, I think javascript is unavoidable today, but WebAPIs are not always needed I think. But then again, if you want to play with the techno, this can be good opportunity to lay the hands on ;P Last thing - the database. ASP.NET MVC seems to be working fine with multiple db systems (MySql, MongoDB) but if you are Microsoft guy, I think there is no reason to go further then one of MS SQL mutations. However if you are planning to use some ORM frameworks (Entity Framework, NHibernate, etc.) one thing to decide first would be the famous discussion Code First - Model First - Database First approach. Recently it seems that trend is Code First approach. The other two seem to me slightly less popular on discussion boards nowadays. Just my 20p to discussion ;-)

                        M 1 Reply Last reply
                        0
                        • M Marc Clifton

                          Kornfeld Eliyahu Peter wrote:

                          If you think to do it public you may find others to join in...at the end you can share with them the prize

                          Indeed, that is the intention! Marc

                          Imperative to Functional Programming Succinctly Higher Order Programming

                          Kornfeld Eliyahu PeterK Offline
                          Kornfeld Eliyahu PeterK Offline
                          Kornfeld Eliyahu Peter
                          wrote on last edited by
                          #19

                          I'm waiting...

                          I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)

                          "It never ceases to amaze me that a spacecraft launched in 1977 can be fixed remotely from Earth." ― Brian Cox

                          M 1 Reply Last reply
                          0
                          • M Marc Clifton

                            Judah Himango wrote:

                            There are some decent ones out there, such as Telerik's Kendo UI[^], but it's not really necessary.

                            Yes, I've been watching what's going on there.

                            Judah Himango wrote:

                            The hot new sexy thing everyone's worked up about is Google's AngularJS[^]. I've used this now on my last 2 web projects.

                            Yup, I'm looking at that. What ever happened to node.js? I see no one has been suggesting that? Marc

                            Imperative to Functional Programming Succinctly Higher Order Programming

                            Kornfeld Eliyahu PeterK Offline
                            Kornfeld Eliyahu PeterK Offline
                            Kornfeld Eliyahu Peter
                            wrote on last edited by
                            #20

                            Marc Clifton wrote:

                            What ever happened to node.js

                            I had the feeling you are not a fan of JavaScript, so why use JavaScript on the server too... node.js is for writing server side code (like ASP.NET code behind) in JavaScript...It has good features, but it is not for everyone and for sure not for a site you talked about...

                            I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)

                            "It never ceases to amaze me that a spacecraft launched in 1977 can be fixed remotely from Earth." ― Brian Cox

                            1 Reply Last reply
                            0
                            • L Leo Muller Rap

                              I dislike MVC, because it is unnecessarily complicated, and will take (me) longer to develop and maintain. But if you start today, MVC with Razor is the way to go. Everything else is just outdated. MVC razor is the most recent standard for working with asp.net. (at least it was two months ago, gosh things change rapidly) Leo

                              F Offline
                              F Offline
                              Fabio Franco
                              wrote on last edited by
                              #21

                              Leo Muller Rap wrote:

                              it is unnecessarily complicated, and will take (me) longer to develop and maintain

                              Uhhhmm. I think this is just your opinion. I've worked many years with web forms, before moving to MVC. MVC is not complicated, once you grasp the basic principles it is much easier to work with. No funny business trying to figure out how to make a web control generate an HTML that works. It's much less error prone. It provides separation of concerns by separating the view from everything else. This makes it much easier to maintain as we can clearly separate logic from user interface. Which leads to a few more advantages: - Unit test your user interface - You can have a team specialized in UX working in the project and they do not need to know anything else but HTML/CSS, etc to contribute, while you work in the logic at the same time. - You can control much better the HTML output to deal with some specific scenarios. After my intial learning curve, all development I've done in ASP.NET MVC has been much faster than WebForms. I also spend time a lot less with bugs that are hard to work around in Web Forms. Since the user interface is not bound to the framework, it integrates much better with the myriad of tools and frameworks available on the web. And finally, thank the Lord Almighty, we don't have to deal with update panels anymore.

                              To alcohol! The cause of, and solution to, all of life's problems - Homer Simpson ---- Our heads are round so our thoughts can change direction - Francis Picabia

                              1 Reply Last reply
                              0
                              • M Marc Clifton

                                Hi Folks, I'm about to kick off a very interesting project for the Department of Public Works. It's interesting because I'm doing it pro bono, I've not done ASP.NET before, and I get to architect the thing any way I want, which means small baby steps in my spare time. The benefits will eventually be, besides having ASP.NET experience, putting something together that apparently lots of municipalities could use and the potentially turning "free" into something lucrative. We won't discuss the down sides. ;) Anyways, there's a lot of tech options out there for ASP.NET / Razor / MVC / Whatever coupled with jWhatever etc, etc. I am though seriously considering using DevExpress web controls, though possibly Telerik's which look pretty darn cool. While I'm starting with a basic concept -- an admin screen for filling in things like equipment, labor rates, materials and costs, and putting together a form where people can create a project estimate, this will need to eventually include tracking the actual project costs, for large projects splitting them into phases, etc. So what do you all suggest as the technology stack, staying within the boundaries of .NET and C#, for putting together a snazzy web site with the least effort? (And no, I do NOT want to do this in Ruby on Rails, I'm feeling quite done with duck-typed languages and crappy 3rd party open source components.) [edit] BTW, I came across this by subscribing to http://www.codeforamerica.org/[^] and responding to a request somebody made on one of the forums. [/edit] Marc

                                Imperative to Functional Programming Succinctly Higher Order Programming

                                F Offline
                                F Offline
                                Fabio Franco
                                wrote on last edited by
                                #22

                                I want to add a few things to enforce what a few already have said and add my little two cents: UI: 1 - Yes, definitely MVC/Razor. You will learn the delight it is to work with when you get there. Separation of concerns, unit testable UI, complete control on the HTML generated. 2 - jQuery is a must, typescript is great also to do Javascript with OOP (including generics). AngularJS will be very helpful, but I think you can leave that for a later project if you feel overwhelmed. Database: 1 - I would definitely go for entity framework. It's very mature and if used carefully will save you a lot of development time and will not be a problem performance wise. Do go for code first. Of course you should experiment with the other ways of doing EF, but I would prefer you were spared of the problems of going the other ways. I also recommend using migrations with EF CodeFirst. Services: 1 - WCF is the way to go, but you probably know that already. I think these are the basics to get started. Enjoy.

                                To alcohol! The cause of, and solution to, all of life's problems - Homer Simpson ---- Our heads are round so our thoughts can change direction - Francis Picabia

                                M 1 Reply Last reply
                                0
                                • Kornfeld Eliyahu PeterK Kornfeld Eliyahu Peter

                                  I'm waiting...

                                  I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)

                                  M Offline
                                  M Offline
                                  Marc Clifton
                                  wrote on last edited by
                                  #23

                                  Kornfeld Eliyahu Peter wrote:

                                  I'm waiting...

                                  Is that an offer to participate? Marc

                                  Imperative to Functional Programming Succinctly Higher Order Programming

                                  Kornfeld Eliyahu PeterK 1 Reply Last reply
                                  0
                                  • B Bajaja

                                    Hi Marc, as it has been mentioned here most probably ASP.NET MVC seems a way to go. The ASP.NET webpages is slightly lighter and not that structured as MVC (which could be good if you want to ship something quickly that is pretty simple). ASP.NET webforms are still there but it is MVC that is catching a big momentum (if talking about Microsoft). Other non MS frameworks I heard of (but never touch them), your lovely ruby on rails and maybe java spring... Some people here are mentioning WebAPIs with rich client side javascript frameworks (AngularJS, typescript, coffeescript, etc.). I would use these if planning to do some apps on mobile devices. I would not bother if targeting purely website interface. Well, I think javascript is unavoidable today, but WebAPIs are not always needed I think. But then again, if you want to play with the techno, this can be good opportunity to lay the hands on ;P Last thing - the database. ASP.NET MVC seems to be working fine with multiple db systems (MySql, MongoDB) but if you are Microsoft guy, I think there is no reason to go further then one of MS SQL mutations. However if you are planning to use some ORM frameworks (Entity Framework, NHibernate, etc.) one thing to decide first would be the famous discussion Code First - Model First - Database First approach. Recently it seems that trend is Code First approach. The other two seem to me slightly less popular on discussion boards nowadays. Just my 20p to discussion ;-)

                                    M Offline
                                    M Offline
                                    Marc Clifton
                                    wrote on last edited by
                                    #24

                                    Bajaja wrote:

                                    I would use these if planning to do some apps on mobile devices.

                                    That is the intention.

                                    Bajaja wrote:

                                    one thing to decide first would be the famous discussion Code First - Model First - Database First approach.

                                    For the back end, I prefer my own database solutions, but yes, there's no reason not to go with SQL Server, as it's provided automatically by any number of ASP.NET hosting sites. Personally, I don't buy into any one of those paradigms as a fixed law of coding, and I rarely separate "model" and "database" - to me, they are both the same thing. So, depending on what I need to prototype, I might work on the UI first or the model first or do some general code stuff. In this particular case, spending some time thinking about the UI and the model is what seems most reasonable first, as I want the site to be able to handle DPW's from more than just one state and municipality. I also want to consider how that affects users per DPW, administration, state-wide admin, and possibly country-wide admin, etc. Getting that stuff "right" from the get-go will mean a lot less BS "refactoring" later on.

                                    Bajaja wrote:

                                    Just my 20p to discussion

                                    Well worth it! Thank you for the input. Marc

                                    Imperative to Functional Programming Succinctly Higher Order Programming

                                    1 Reply Last reply
                                    0
                                    • F Fabio Franco

                                      I want to add a few things to enforce what a few already have said and add my little two cents: UI: 1 - Yes, definitely MVC/Razor. You will learn the delight it is to work with when you get there. Separation of concerns, unit testable UI, complete control on the HTML generated. 2 - jQuery is a must, typescript is great also to do Javascript with OOP (including generics). AngularJS will be very helpful, but I think you can leave that for a later project if you feel overwhelmed. Database: 1 - I would definitely go for entity framework. It's very mature and if used carefully will save you a lot of development time and will not be a problem performance wise. Do go for code first. Of course you should experiment with the other ways of doing EF, but I would prefer you were spared of the problems of going the other ways. I also recommend using migrations with EF CodeFirst. Services: 1 - WCF is the way to go, but you probably know that already. I think these are the basics to get started. Enjoy.

                                      To alcohol! The cause of, and solution to, all of life's problems - Homer Simpson ---- Our heads are round so our thoughts can change direction - Francis Picabia

                                      M Offline
                                      M Offline
                                      Marc Clifton
                                      wrote on last edited by
                                      #25

                                      Fabio Franco wrote:

                                      You will learn the delight it is to work with when you get there.

                                      I hope so. I've done a lot of RoR so a lot of Razor looks familiar.

                                      Fabio Franco wrote:

                                      jQuery is a must,

                                      Indeed. I've played with it a little, again in the RoR environment.

                                      Fabio Franco wrote:

                                      AngularJS will be very helpful, but I think you can leave that for a later project if you feel overwhelmed.

                                      That's the conclusion I came to last night. I'm having a hard enough time finding a decent tutorial on getting Bootstrap folded in. Found this[^], but I may be making this too complicated -- in RoR, it's a simple matter of dropping in the css and js files into the appropriate folders.

                                      Fabio Franco wrote:

                                      I would definitely go for entity framework.

                                      Well, in this department, I have my own DB frameworks that I prefer to use.

                                      Fabio Franco wrote:

                                      Do go for code first.

                                      Hmm, I have some moderately complex modeling issues to consider, such as supporting DPW's in different municipalities and states. I prefer to have a solid model in place, perhaps even with some "scenario tests" to vet out the design, before doing too much coding / UI development. However, when the model is obvious, yeah, I often end up prototyping the UI first. Thanks for the great feedback! Marc

                                      Imperative to Functional Programming Succinctly Higher Order Programming

                                      F 1 Reply Last reply
                                      0
                                      • M Marc Clifton

                                        Hi Folks, I'm about to kick off a very interesting project for the Department of Public Works. It's interesting because I'm doing it pro bono, I've not done ASP.NET before, and I get to architect the thing any way I want, which means small baby steps in my spare time. The benefits will eventually be, besides having ASP.NET experience, putting something together that apparently lots of municipalities could use and the potentially turning "free" into something lucrative. We won't discuss the down sides. ;) Anyways, there's a lot of tech options out there for ASP.NET / Razor / MVC / Whatever coupled with jWhatever etc, etc. I am though seriously considering using DevExpress web controls, though possibly Telerik's which look pretty darn cool. While I'm starting with a basic concept -- an admin screen for filling in things like equipment, labor rates, materials and costs, and putting together a form where people can create a project estimate, this will need to eventually include tracking the actual project costs, for large projects splitting them into phases, etc. So what do you all suggest as the technology stack, staying within the boundaries of .NET and C#, for putting together a snazzy web site with the least effort? (And no, I do NOT want to do this in Ruby on Rails, I'm feeling quite done with duck-typed languages and crappy 3rd party open source components.) [edit] BTW, I came across this by subscribing to http://www.codeforamerica.org/[^] and responding to a request somebody made on one of the forums. [/edit] Marc

                                        Imperative to Functional Programming Succinctly Higher Order Programming

                                        A Offline
                                        A Offline
                                        agolddog
                                        wrote on last edited by
                                        #26

                                        As others are saying, MVC/Razor, jQuery, Bootstrap. I don't have experience with Telerik's controls in the MVC world, but I can say their .NET controls are execellent, with great support both from the user community and Telerik themselves.

                                        1 Reply Last reply
                                        0
                                        • M Marc Clifton

                                          Kornfeld Eliyahu Peter wrote:

                                          I'm waiting...

                                          Is that an offer to participate? Marc

                                          Imperative to Functional Programming Succinctly Higher Order Programming

                                          Kornfeld Eliyahu PeterK Offline
                                          Kornfeld Eliyahu PeterK Offline
                                          Kornfeld Eliyahu Peter
                                          wrote on last edited by
                                          #27

                                          A kind of...I have to see in more details what we talking about...I may be able or unable to help...I can't know, but I always ready to help...

                                          I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)

                                          "It never ceases to amaze me that a spacecraft launched in 1977 can be fixed remotely from Earth." ― Brian Cox

                                          M 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups