Gå til innhold

ASP: Gammel ASP-utvikler lukter på ASP.net med ambisiøse planer


Anbefalte innlegg

Jeg har laget mange nettsteder i klassisk ASP siden slutten av forrige århundre. (:)) Jeg anser meg rimelig oppegående på VBScript, HTML og CSS. Også noe JavaScript. Jeg har alltid skrevet websidene i teksteditorer, og aldri benyttet WYSIWYG-programmer eller andre designverktøy.

 

Jeg har nå i en lengre periode gått svanger med en idé til et nokså ambisiøst prosjekt. Det er snakk om et komersiellt databasedrevet nettsted med kommunikasjon mot mailserver og SMS-server. I tillegg skal det regelmessig importeres en del data fra eksterne webservere enten via XML eller rene tekstfiler. Det skal også gå scheduled tasks som sender ut både mailer og SMS-er til brukerne.

 

Så da har jeg skjønt at det kanskje kan lønne seg å se på om ASP.NET kan være noe. Det jeg lurer på er hva som er forskjellen mellom ASP.NET websider, ASP.NET webforms og ASP.NET MVC. Det jeg vil er å begynne å kode så fort som mulig. Hva skal jeg lese meg opp på?

 

Firmaet er etablert, domenene er registert. Nå mangler bare produktet. :)

Lenke til kommentar
Videoannonse
Annonse

Det er helt klart en fordel å benytte seg av MVC. Vet ikke om du er kjent med prinsippet med Model-View-Controller, men ved å benytte seg av dette får du en mye bedre skalerbarhet og oversikt i koden din.

 

Du finner forresten en rekke med lesestoff rundt MVC på følgende link: MVC

 

MVC er noe tyngre å sette seg inn i enn å bruke enkle webforms hvor du front end kode og logisk kode i en fil bak..

Lenke til kommentar

...hva som er forskjellen mellom ASP.NET websider, ASP.NET webforms og ASP.NET MVC. Det jeg vil er å begynne å kode så fort som mulig. Hva skal jeg lese meg opp på?

(Såvidt jeg vet) er det ingenting som heter asp.net websider.

 

Med din bakgrunn ville jeg ikke begynt med webforms - abstraksjonene der skiller seg mye fra klassisk asp, og ble egentlig laget for å gjøre det enklere for desktop-utviklere å begynne med webutvikling.

 

Så begynn å lese deg opp på ASP.NET MVC er min anbefaling også! (Selv om jeg faktisk stort sett bare bruker webforms selv)

Lenke til kommentar
  • 2 uker senere...
  • 3 uker senere...

Man kan greie seg veldig fint uten MVC om man har litt ideer på design oppsett selv.

 

ASP.NET også kalt C Sharp (C#) har vel mildt sagt revolusjonert muligheten til avanserte websider siden ASP classic, spesielt på database fronten med LinQ. Jeg mener det er relativt

lett å sette seg inn in C Sharp hvis man kjenner til VBscript og ASP classic.

 

Jeg synes det er alltid litt morsomt å lese php vs asp.net diskusjoner :)

 

Ellers er jeg enig med torbjørn innlegg om webforms.

Endret av Torusk
Lenke til kommentar

ASP.NET også kalt C Sharp (C#)...

Ehm, enig med det du sa også, bortsett fra dette :) ASP.NET er ikke det samme som C#. C# er et programmeringsspråk som blant annet har en implementasjon på Microsofts .NET-plattform. ASP.NET er et rammeverk for webutvikling, og er endel av .NET-plattformen. Man kan "gjøre" ASP.NET med alle språk som kjører på .NET, f.eks. Ruby (IronRuby), Python (IronPython), Nemerle, Boo, Scala, osv. Såvidt jeg vet er det en PHP-implementasjon på .Net også, så i teorien kan man kode ASP.NET-løsninger i PHP

 

:p

Endret av torbjørn marø
Lenke til kommentar

ASP.NET også kalt C Sharp (C#)...

Ehm, enig med det du sa også, bortsett fra dette :) ASP.NET er ikke det samme som C#. C# er et programmeringsspråk som blant annet har en implementasjon på Microsofts .NET-plattform. ASP.NET er et rammeverk for webutvikling, og er endel av .NET-plattformen. Man kan "gjøre" ASP.NET med alle språk som kjører på .NET, f.eks. Ruby (IronRuby), Python (IronPython), Nemerle, Boo, Scala, osv. Såvidt jeg vet er det en PHP-implementasjon på .Net også, så i teorien kan man kode ASP.NET-løsninger i PHP

 

:p

 

er kun VB eller C# under asp.net når vi prater web selv om asp.net er CLR. Men du sikter sikkert til MS server 2008+ som støtter php. Tror ikke PHP er med under CLR :) Med asp.net

støtter MySQL som ofte brukes til php løsninger.

Endret av Torusk
Lenke til kommentar

er kun VB eller C# under asp.net når vi prater web selv om asp.net er CLR. Men du sikter sikkert til MS server 2008+ som støtter php. Tror ikke PHP er med under CLR :) Med asp.net

støtter MySQL som ofte brukes til php løsninger.

Brain fart? Det virker til at du ikke er klar over at web-utvikling er en bitteliten del av hva .NET og Visual Studio brukes til. Windows Server også for den saks skyld.

PHP er ikke støttet av Windows Server 2008. Eneste Microsoft produktet jeg vet om som direkte støtter PHP er Expression Web.

Du kan få til PHP på IIS ved å legge til en plug-in som er gratis og fritt tilgjengelig, men det er ikke støttet i utgangspunktet, og neppe på .NET plattformen.

MySQL er en databaseserver, det har ingenting direkte med hverken PHP eller ASP.NET å gjøre.

Lenke til kommentar

er kun VB eller C# under asp.net når vi prater web selv om asp.net er CLR. Men du sikter sikkert til MS server 2008+ som støtter php. Tror ikke PHP er med under CLR :)

... Eneste Microsoft produktet jeg vet om som direkte støtter PHP er Expression Web.

Du kan få til PHP på IIS ved å legge til en plug-in som er gratis og fritt tilgjengelig, men det er ikke støttet i utgangspunktet, og neppe på .NET plattformen.

Tror dere tar feil. Phalanger er en implementasjon av PHP på .Net.

 

Og selv om jeg ikke har skrevet noen selv så har jeg sett asp.net-løsninger i både F# og IronRuby. VB og C# er det du får med out-of-the-box, men det finnes mange muligheter!

 

Noen enkle Google-treff: ASP.NET web applications in F#, IronRuby with ASP.NET MVC.

Endret av torbjørn marø
Lenke til kommentar

 

MySQL er en databaseserver, det har ingenting direkte med hverken PHP eller ASP.NET å gjøre.

 

MySQL server har ingen ting med PHP å gjøre? og MSserver 2008 støtter ikke php? Nei vel..

 

Da har jeg hørt dette også :) ps. aldri sagt MYSQL har noe med asp.net å gjøre, du må

følge tråden her mr. "Grusom" ellers blir det jo bare trolling og litt random utfall.

Lenke til kommentar

 

Tror dere tar feil. Phalanger er en implementasjon av PHP på .Net.

 

Og selv om jeg ikke har skrevet noen selv så har jeg sett asp.net-løsninger i både F# og IronRuby. VB og C# er det du får med out-of-the-box, men det finnes mange muligheter!

 

Noen enkle Google-treff: ASP.NET web applications in F#, IronRuby with ASP.NET MVC.

 

Ja mange muligheter med CLR men du finner ikke php i CLR pr.dags dato :), men artig at

det finnes muligheter å implementere det på alternative måte (leste linken din interessant). dog php og c# er vidt forskjellig språk som snakker veldig dårlig med væreandre, derfor

det finnes drøss av diskusjoner på nett om hvilken plattform som er best (midt ut-gangs punkt). Jeg har nå sett begge verdener å holder meg til asp.net / c sharp.

Endret av Torusk
Lenke til kommentar

Ja mange muligheter med CLR men du finner ikke php i CLR pr.dags dato :)

Definer "å finnes på CLR". Phalanger kjører på CLR, og PHP finnes dermed på CLR.

 

dog php og c# er vidt forskjellig språk som snakker veldig dårlig med væreandre

Siden PHP (ref. ovenfor) og C# begge kjører på CLR, og begge kompileres til IL, så snakker de fint sammen i CLI. Mange forkortelser her nå, men poenget er at på .Net blir de to bare to ulike måter å uttrykke nøyaktig det samme på - begge språkene er nødvendigvis kun subset av IL.

 

Forsøker ikke å argumentere for PHP her.., dette begynte bare som et forsøk på å oppklare at ASP.NET ikke er det samme som C# :D

Endret av torbjørn marø
Lenke til kommentar

Ja mange muligheter med CLR men du finner ikke php i CLR pr.dags dato :)

Definer "å finnes på CLR". Phalanger kjører på CLR, og PHP finnes dermed på CLR.

 

dog php og c# er vidt forskjellig språk som snakker veldig dårlig med væreandre

Siden PHP (ref. ovenfor) og C# begge kjører på CLR, og begge kompileres til IL, så snakker de fint sammen i CLI. Mange forkortelser her nå, men poenget er at på .Net blir de to bare to ulike måter å uttrykke nøyaktig det samme på - begge språkene er nødvendigvis kun subset av IL.

 

Forsøker ikke å argumentere for PHP her.., dette begynte bare som et forsøk på å oppklare at ASP.NET ikke er det samme som C# :D

 

http://en.wikipedia.org/wiki/Common_Language_Runtime

 

 

hadde php fungert under asp.net hadde vi nok ikke hatt 11000 av tråder på nette om

hvilken platform som er best når vi snakker "platform".

 

de 2 viktig forskjellene. Og de er temmelig store.

 

php. = Compile in client

asp.net = Compile on server side.

 

Legg merke til wiki linken som tar utgangs punket i vb og C# source. (forde de er main språk for asp.net)

 

Avslutter min diskusjon på tema her. Takker og bukker for praten.

Endret av Torusk
Lenke til kommentar

Ja, illustrasjonen på den linken sier C#, VB.NET og Other .NET languages! Teksten sier også "All programs written for the .NET framework, regardless of programming language, are executed by the CLR." Phalanger, altså PHP, er et slikt språk.

 

Det betyr ikke at særlig mange har oppdaget dette enda. Derfor jeg sier ifra ;)

 

CLR er ikke en pakke med C# og VB.NET. CLR er en runtime, C#, VB.NET, Phalanger m.fl. er/har implementasjoner som kjører på denne runtimen.

 

Takker for praten selv, alltid hyggelig med litt meningsutveksling.

Lenke til kommentar

Ja, illustrasjonen på den linken sier C#, VB.NET og Other .NET languages! Teksten sier også "All programs written for the .NET framework, regardless of programming language, are executed by the CLR." Phalanger, altså PHP, er et slikt språk.

 

Det betyr ikke at særlig mange har oppdaget dette enda. Derfor jeg sier ifra ;)

 

CLR er ikke en pakke med C# og VB.NET. CLR er en runtime, C#, VB.NET, Phalanger m.fl. er/har implementasjoner som kjører på denne runtimen.

 

Takker for praten selv, alltid hyggelig med litt meningsutveksling.

 

Jeg ser poenget ditt Tor :) takk for utvekslingen.

Lenke til kommentar

de 2 viktig forskjellene. Og de er temmelig store.

 

php. = Compile in client

asp.net = Compile on server side.

La du til dette etterpå? Antar du mener run on client/server? Hvor ting kompileres spiller liten rolle (og kompilering er heller ikke nødvendig), men både php og asp.net kjører serverside!!

Endret av torbjørn marø
Lenke til kommentar

de 2 viktig forskjellene. Og de er temmelig store.

 

php. = Compile in client

asp.net = Compile on server side.

La du til dette etterpå? Antar du mener run on client/server? Hvor ting kompileres spiller liten rolle (og kompilering er heller ikke nødvendig), men både php og asp.net kjører serverside!!

 

PHP

 

When a PHP page is requested, the HTML and inline PHP script is compiled to Zend Opcodes. Opcodes are low-level binary instructions that will be used to serve the PHP page. After compilation, the Zend Engine runs the opcodes (similar to the way Java's runtime engine runs byte code), and then HTML is generated and served to the client.

 

http://msdn.microsoft.com/en-us/library/aa479002.aspx

 

Er derfor asp.net er raskere enn php siden alt er ferdig rendret på servern før det når

clienten.

:) <asp:blabla runat="server" >

Endret av Torusk
Lenke til kommentar

PHP blir ikke kompilert på klienten. PHP blir typisk kompilert til byte-code, og oversatt run-time, på serveren. Klienten har ingenting med dette å gjøre, ettersom klienten alltid er agnostisk til hvilket rammeverk som blir brukt på serveren. Du trenger ikke installere støtte for hverken ASP.NET eller PHP på klienten.

 

ASP.NET blir også oversatt til et byte-code språk, CIL (Common Intermediate Language) men første gange siden vises, så brukes ngen.exe (Native Image Generator) til å produsere maskinkode av dette. Det er derimot irrelevant for klienten hva som skjer her.

 

Runat="server" betyr at kontrollen skal bli behandlet som en ASP.NET kontroll, i motsetning til en vanlig Web Form kontroll, som du finner overalt. Det betyr bare rett og slett at ASP.NET kommer til å behandle kontrollen på en eller annen måte.

 

MySQL er en databasemotor, og er ikke direkte knyttet til PHP på noen måte annet enn at PHP som standard har med API-er for å benytte MySQL. Windows Server 2008 er et server produkt, Internet Information Services er en av pakkene en kan installere om en ønsker, og etter det jeg vet følger ikke PHP støtte med som standard på noen versjoner av Windows Server, det er noe en må legge til selv.

 

:ph34r:

  • Liker 3
Lenke til kommentar

PHP blir ikke kompilert på klienten. PHP blir typisk kompilert til byte-code, og oversatt run-time, på serveren. Klienten har ingenting med dette å gjøre, ettersom klienten alltid er agnostisk til hvilket rammeverk som blir brukt på serveren. Du trenger ikke installere støtte for hverken ASP.NET eller PHP på klienten.

 

ASP.NET blir også oversatt til et byte-code språk, CIL (Common Intermediate Language) men første gange siden vises, så brukes ngen.exe (Native Image Generator) til å produsere maskinkode av dette. Det er derimot irrelevant for klienten hva som skjer her.

 

Runat="server" betyr at kontrollen skal bli behandlet som en ASP.NET kontroll, i motsetning til en vanlig Web Form kontroll, som du finner overalt. Det betyr bare rett og slett at ASP.NET kommer til å behandle kontrollen på en eller annen måte.

 

MySQL er en databasemotor, og er ikke direkte knyttet til PHP på noen måte annet enn at PHP som standard har med API-er for å benytte MySQL. Windows Server 2008 er et server produkt, Internet Information Services er en av pakkene en kan installere om en ønsker, og etter det jeg vet følger ikke PHP støtte med som standard på noen versjoner av Windows Server, det er noe en må legge til selv.

 

:ph34r:

 

korrigering så ikke du forivrer andre : Runat="server" betyr at kontrollern/kilde kodene blir

rendret på server nivå og ikke i klienten, er feil å si at dette gjør den kun asp.net basert.

du kan fint kjøre en <asp.kontroller uten runat server, da rendres den i browsern og

ikke via server nivået. Dette er basic forståelse av asp.net . Ta en titt på linken

over hvor Microsoft selv forklarer hva jeg alt har sagt. Tviler på at de tar feil ;)

Lykke til.

Endret av Torusk
Lenke til kommentar

korrigering så ikke du forivrer andre : Runat="server" betyr at kontrollern/kilde kodene blir

rendret på server nivå og ikke i klienten, er feil å si at dette gjør den kun asp.net basert.

du kan fint kjøre en <asp.kontroller uten runat server, da rendres den i browsern og

ikke via server nivået. Dette er basic forståelse av asp.net . Ta en titt på linken

over hvor Microsoft selv forklarer hva jeg alt har sagt. Tviler på at de tar feil ;)

Lykke til.

http://stackoverflow.com/questions/304290/asp-net-why-runat-server

  • Liker 2
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...