Sitat av
d-_-b
For det andre må du kunne både asp.net og vb.net / c#, og jeg får iallefall følelsen av at det er en smule "rotete". Hvorfor ikke bare skrive alt i asp.net når det språket så vidt jeg vet kan det samme som eventuelt vb.net / c#?
ASP.NET er ikke et språk. Det er et utvidelse til Microsoft sitt rammeverk, .NET. Mange språk kan bruke det rammeverket, blandt annet C#, Vb.NET, F#, IronPython, Clojure, IronRuby...
I tillegg har ASP.NET noen kontroller som gjør det litt lettere. Disse ser slik ut: <asp:Button ID="submitButton" onclick="submitButton_click" runat="server" /> For alle som har brukt WinForms (Windows utvikling i .NET), så er det mye av det samme som en knapp på en Windows Form. Så heter denne teknologien også WebForms, og har flere klare likhetstrekk med WinForms. Men det betyr ikke at ASP.NET er et språk. For å gi knappen funksjonalitet, må du i CodeBehind og fikse der.
Kode
void submitButton_click(object sender, EventArgs e) {
textLabel.Text = "Du trykket på knappen!";
}
Personlig bruker jeg ASP.NET MVC for det meste (finnes rammeverk til PHP som likner på dette). Der bruker du ikke noe av ASP.NET sine egne tagger. All utvikling gjøres i ditt programmeringsspråk, også i aspx-filene.
I begge versjoner av ASP.NET må selve funksjonaliteten programmeres i CodeBehind. Og der kan du bruke ditt språk, om det er C# eller Vb.NET, eller F# osv....
Folk som er vant med PHP må vende seg til ASP.NET, for det en annen måte å tenke på. Men jeg synes det er mye mer genialt.
Sitat av
d-_-b
Og jeg funderer i hvordan performance egentlig er. Har i den siste tiden drevet en del med c# og asp.net, men har ikke egentlig satt meg ned å testet det. Men me tanke på at serveren først tolker asp.net skriptet, og så sender det videre til c# eller vb.net, som igjen bygger på et større rammeverk. Så kan jeg lure litt på hvor god performancen egentlig er, kontra om du bare hadde skrevet alt i asp.net eller php. Og om det da kan forsvares å bruke vb.net / c# som backend. Og om du ikke skal bruke vb.net / c# som backend, hva er da vitsen med å gå for asp.net (spesielt med den store ulempen anngående hostings muligheter)?
Jeg vet ikke hvordan dette virker i bunn og grunn, men jeg vet at det er kjapt. Jeg jobber med dette hver dag nå, og har ingenting å utsette på performance, bortsett fra at programmet tar litt tid å starte opp. Det vil si at første gang jeg er innom nettstedet etter en server restart, må programmet startes opp igjen, og det tar tid. Men etter det er nettstedene svært kjappe.
Forresten er ASP.NET MVC kompilert. Hele programmet ligger i en .dll fil. I PHP må PHP.exe ta seg av kompileringen, og jeg velger å tro at det krever litt. Men alt i alt tror jeg at PHP og ASP.NET kommer sånn circa like godt ut hastighetsmessig.
Sitat av
d-_-b
En annen ting som jeg tenker på er hvordan dette vil fungere i publiserings sammenheng. Hvordan du skal laste det opp til serveren, etc. Med php (og ren asp.net?) så er det bare å legge opp skript fila. Med en vb.net / c# backend så er det litt flere filer som skal legges opp og anntagelig litt mer omstendig.
Jeg har allerede sagt at ASP.NET er en helt annen måte å tenke på, en måte som jeg trives mye bedre med. Når du skal lage store applikasjoner i PHP, mister jeg fort oversikten. Filer inkluderes i hytt og pine, og jeg må finne fram til hvor ting ligger osv osv. I tilleg ligger det mye HTML kode innimellom PHP kodene, som gjør en liten oppdatering i bla magento noe tungvindt...
I ASP.NET ligger hele applikasjonen som et web prosjekt i Visual Studio. Du skriver all kode der, tester lokalt og så videre, og når ting virker som det skal, er det bare å kompilere, og laste opp en enkelt .dll fil og alle aspx-filene som hører til. I tillegg har jeg mye bedre oversikt i ASP.NET enn i PHP.
Jeg har nevnt i tiligere diskusjoner at jeg synes PHP er rotete og uoversiktlig, og det holder jeg fast på. Jeg trives mye bedre i C# enn i PHP, og føler at utviklingen går mye mer effektivt der.
Når jeg skal gjøre en liten endring på ett sted i en HTML kode, er det bare å fikse på en enkelt aspx fil, og laste opp denne. Skal jeg gjøre endringer i funksjonaliteten må jeg nesten fyre opp Visual Studio, men jeg synes at det er mye greiere slik, sånn at jeg har full kontroll.
Skal du lage en statisk website med noe ekstragreier, bruker selv jeg PHP. ASP.NET er for større prosjekter. I større prosjekter publiserer du ikke innhold over FTP. Innhold og programmering skal ikke blandes. I ASP.NET har jeg laget et lite CMS som brukes av en nettside. Alt innhold styres der, men skal de ha noen ekstra funksjoner, må de bare ringe.
Skal jeg lage en liten, statisk side med en enkel meny, litt tekst osv, ville jeg enten brukt ASP.NET WebForms eller PHP.
Sitat av
d-_-b
Som en profesjonell utvikler eller som en freelancer; hvor mange prosjekter tror du egentlig som bruker f.eks. vb.net og asp.net? Hvor mange jobber kan du egentlig få? Det er tusen vis av sider som kjører php og stadig flere som kjører ruby.
Der jeg jobber, er det kun ASP.NET prosjekter.
Se på:
-
http://umbraco.org/ (Gratis, open source, og KNUSER Joomla og Wordpress)
-
http://www.kentico.com/home.aspx (Koster en del, men er svært lett å bruke og å utvide, når man kan ASP.NET)
I tillegg er det en svært lett prosess å gå over til windows utvikling fra ASP.NET, fordi det er samme rammeverk (.NET) og samme språk, og mye av de samme tingene. Så, hvis du ikke får job innen web, kan du få jobb innen systemutvikling.
Men, det er helt sant at community og marked for PHP er større enn for ASP.NET. ASP.NET krever Windows server, er ikke Open Source, og drives av Microsoft, så akkurat der kan PHP stille sterkere.
Personlig gjør det meg ingenting, for jeg kan PHP forholdvis bra, så hvis det blir krise, kan jeg skaffe meg en jobb der, men jeg håper inderlig ikke det, for jeg trives mye mye bedre i .NET.
Jeg har ennå til gode å prøve ut Ruby, men jeg står på mitt, PHP når ikke ASP.NET til hælene. Men, det går fint an å lage ryddig og god PHP kode, og det kan godt hende jeg kommer til å gjøre det i framtiden. Men ASP.NET er min favoritt. Og, det tok meg fem måneder å innse genialiteten av ASP.NET.
Når trådstarter da kan Vb.NET, anbefaler jeg han så kalrt å bruke ASP.NET, for det er stort sett ingenting å lære. Han må lære HTML og CSS, men da kan han bruke Visual Studio og sitt Vb.NET, og lage programmer til web, som han før lagde til Windows. Han kan allerede .NET og Visual Basic, derfor anbefaler jeg han å lære ASP.NET.
Men, han må først lære HTML og CSS.
...WOW, dette ble langt og uryddig. Jeg er ikke noe filnk til å argumentere godt, men jeg håper jeg har fått fram litt av poengene mine.