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

    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
      • Kornfeld Eliyahu PeterK Kornfeld Eliyahu Peter

        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)

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

        Kornfeld Eliyahu Peter wrote:

        I have to see in more details what we talking about

        Well, this is certainly an "on-the-fly" design, but I intend to put some initial planning documentation together. I'll send you a direct email (I have your email address) with a writeup in a day or two. I'd like to have some sort of bare-bones scaffolding in place by middle of next week, which should be interesting for me to ramp up on ASP.NET/Razor in the most efficient way possible. Marc

        Imperative to Functional Programming Succinctly Higher Order Programming

        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

          C Offline
          C Offline
          charliebear24
          wrote on last edited by
          #29

          Microsoft stack is: ASP.NET (with or without MVC), Razor, IIS and Entity Framework/MSSQL. But what about vNext? Seems to me that vNext is Microsoft's answer to Nodejs and looks to be a future 'upgrade' for ASP.NET (BTW Nodejs isn't written in Javascript, it's written in C and just translates JS). IIS is a slippery pig as far as I'm concerned but I still use it. The Javascript stack is: Angularjs (which is amazing), Nodejs (usually with Expressjs on top) and either SQL or Mongodb for the db. Knockout and especially Breezejs seems to be the ORM of choice. As far as open source goes, the creme de la creme rises to the top and isn't as 'open' from a development perspective as you might think (being controlled by the original authors which is now often Google, Amazon, Sencha, MS and a small group of super guru's). Open source it not a free for all. Typescript is a nice enhancement to JS but I don't like working with anything that's 1.0 (for production). I've been developing in C#/.Net since 2001 and now currently learning the Javascript stack and it's been PAINFUL! But, Javascript isn't a toy language anymore and is the language of web development going forward, just ask Microsoft! Cheers to all.

          1 Reply Last reply
          0
          • M Marc Clifton

            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 Offline
            F Offline
            Fabio Franco
            wrote on last edited by
            #30

            Marc Clifton wrote:

            Found this[^], but I may be making this too complicated

            We may be talking about different things. AngularJS and knockout is about databinding MVVM way, that can improve productivity and maintainability when working with data models on the client side. The twitter bootstrap works like that in with .net mvc, it is as easy as dropping the js and css. If I am not mistaken it is even part of MVC project template already. If not, you can set it up easily using the nuget package manager. If you don't know about nuget package manager, please look into it, it is a life saver.

            Marc Clifton wrote:

            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.

            I think we may be talking about different things again. Code First, is and Entity Framework style of mapping Object Entities to database tables. It's like having a object oriented database. You can define complex models and relationships (including inheritance) with EF Code First that will later translate to a database. It can represent your domain model, although it's not always recommended, depending on your architecture. UI Model prototyping is something else, this is MVC's M stands for. It's something else. EF Code First entities are another layer, either on the data layer, or domain layer.

            Marc Clifton wrote:

            Thanks for the great feedback!

            Glad to help :)

            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

              L Offline
              L Offline
              Lost User
              wrote on last edited by
              #31

              I'd start with "designing" (wire framing) the thing first before deciding on a "technology stack". Didn't see any thoughts on "hosting" either. It may be "pro bono" but at some point there's going to be a cost of ownership. Maybe there's a "SharePoint Online" in your future.

              M 1 Reply Last reply
              0
              • L Lost User

                I'd start with "designing" (wire framing) the thing first before deciding on a "technology stack". Didn't see any thoughts on "hosting" either. It may be "pro bono" but at some point there's going to be a cost of ownership. Maybe there's a "SharePoint Online" in your future.

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

                Gerry Schmitz wrote:

                I'd start with "designing" (wire framing) the thing first before deciding on a "technology stack".

                Good point, and yes, that's my plan.

                Gerry Schmitz wrote:

                Didn't see any thoughts on "hosting" either. It may be "pro bono" but at some point there's going to be a cost of ownership.

                True, but from my prior research, it looks like I can find hosting for around $10/mo, which is pretty darn cheap, and given that the initial # of users is going to be about 10, I'm not too worried about performance at the moment. Marc

                Imperative to Functional Programming Succinctly Higher Order Programming

                L 1 Reply Last reply
                0
                • M Marc Clifton

                  Gerry Schmitz wrote:

                  I'd start with "designing" (wire framing) the thing first before deciding on a "technology stack".

                  Good point, and yes, that's my plan.

                  Gerry Schmitz wrote:

                  Didn't see any thoughts on "hosting" either. It may be "pro bono" but at some point there's going to be a cost of ownership.

                  True, but from my prior research, it looks like I can find hosting for around $10/mo, which is pretty darn cheap, and given that the initial # of users is going to be about 10, I'm not too worried about performance at the moment. Marc

                  Imperative to Functional Programming Succinctly Higher Order Programming

                  L Offline
                  L Offline
                  Lost User
                  wrote on last edited by
                  #33

                  It wasn't so much the "$10/mo" that I was thinking of (there are even cheaper options around). It is the support and maintenance that comes afterwards. While you may become a master of all the components you plan on incorporating, the fellow(s) that come after you may not be. It appears that you are not being asked to follow any type of corporate "standard" (assuming there is one). Corporate standards usually imply some sort of internal skill sets that can later be called upon, if necessary. An application that is not or cannot be supported, maintained and updated when necessary will rapidly fall into disuse. (I like / hope to think the stuff I develop winds up having a long life). That said, it's wonderful to be in a position where one has control over most, if not all, aspects of a project.

                  M 1 Reply Last reply
                  0
                  • L Lost User

                    It wasn't so much the "$10/mo" that I was thinking of (there are even cheaper options around). It is the support and maintenance that comes afterwards. While you may become a master of all the components you plan on incorporating, the fellow(s) that come after you may not be. It appears that you are not being asked to follow any type of corporate "standard" (assuming there is one). Corporate standards usually imply some sort of internal skill sets that can later be called upon, if necessary. An application that is not or cannot be supported, maintained and updated when necessary will rapidly fall into disuse. (I like / hope to think the stuff I develop winds up having a long life). That said, it's wonderful to be in a position where one has control over most, if not all, aspects of a project.

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

                    Gerry Schmitz wrote:

                    It is the support and maintenance that comes afterwards.

                    Indeed, and what I'm hoping will result from what is essentially a prototype (or, perhaps a better word is "pilot program") is the value will be seen and there will be actual funds allocated for support and maintenance. And yes, I hear you on the standards, etc. So, it'll be interesting to see how this evolves over the next 6 months or so! Marc

                    Imperative to Functional Programming Succinctly Higher Order Programming

                    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

                      B Offline
                      B Offline
                      bwilhite
                      wrote on last edited by
                      #35

                      If you're going to build a SPA (which it doesn't sound like he is), you should seriously consider AngularJS. "Those who don't know angular are doomed to repeat it." ;P

                      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