Avatar billede fuxi Nybegynder
08. december 2006 - 08:11 Der er 12 kommentarer

Bedste websprog til store sites

Jeg ved det! Spørgsmålet har sikkert været her før og det er religionskrig etc. MEN jeg stiller nu det alligevel :o)

Hvilket programmeringssprog er det bedste hvis man skal lave store komplekse websites, der er databasebaseret, kræver kald af webservices, delvist baseret på AJAX etc.

Jeg selv har erfaring med Cold Fusion, .NET og ASP men vil høre hvad i andres mening er? Vi snakker en meget stor site, med mange tusinde besøgende, og hvor koden skal kunne genbruges på andre sites, men i andet design etc.
Avatar billede leif Seniormester
08. december 2006 - 08:48 #1
Sites som borsen.dk, tv2.dk er fx. kodet i PHP, mens dr.dk er kodet i ASP så vidt jeg ved.
Avatar billede tdafoobar Nybegynder
08. december 2006 - 09:04 #2
Yahoo.com er lavet i PHP
Amazon.com er lavet i PHP
MySpace.com er lavet i Coldfusion, læs et par nyheder og regn ud hvor buggy det er.

AJAX er forresten javascript, så det har absolut intet med resten at gøre.

Men hvis du skal have en stor side skal du først vælge:

Server OS
Database

Hvis du f.eks. vælger

Windows
MS SQL

Så skal du bruge ASP.NET, men være opmærksom på at det vil koste dig en mindre formue i licencer. Derudover skal du bruge IIS som server, (hvilket ikke ligefrem er det mest populære på internettet), og du bliver nød til at købe Visual Studio.NET for at kunne bruge ASP.NET optimalt (udviklingsmæssigt)

Hvis du f.eks. vælger

Linux / BSD
MySQL

Så skal du vælge PHP eller JSP, og så skal du bruge Apache (Apache Tomcat for JSP), hvilket er et kendt valg (Apache kører noget ala. 80%++ af internettet).

--

At lave kode der kan genbruges er jo bare et spørgsmål om ordenlig design og OOP. PHP er nok lettere at lave det i , da PHP ikke arbejdet med Views direkte i logikken, modsat ASP.NET.

Både PHP og ASP.NET supporter fint webservices, det kan du f.eks. se på Yahoo og Amazon. Specielt REST er ultra nemt at arbejde med i PHP. SOAP er lidt værrere da php ikke supporter auto-generation af WSDL, men hvis du f.eks. udvikler ud fra et framework ala. Zend Framework (framework.zend.com) så er det intet problem..

C# har det også med at lave noget meget utrationelt WSDL, så ikke ligefrem noget jeg kan anbefale ud fra min erfaring.

Jeg vil dog råde dig til enten at vælge PHP eller ASP.NET, coldfusion og alm. ASP er langt outtdated, og absolut ikke værd at bruge.

Men husk altid at bruge det nyeste version, og upgradere ... så får du den bedste ydelse. PHP 5.2 (snart php6) eller .NET 2.x.
Avatar billede tdafoobar Nybegynder
08. december 2006 - 09:06 #3
Hurtigt overslag:

ASP.NET: Windows Server 2003, MS SQL, Visual Studio: ~250.000 kr. i startudgifter (ikke inklusiv pris på server!)

PHP: Unix, MySQL, Vim: ~0kr. (og serveren er langt mindre krævende end Windows).
Avatar billede fuxi Nybegynder
08. december 2006 - 12:53 #4
Mange tak for jeres svar...

At AJAX er lavet i JavaScript ved jeg :o) Men der er stadig en server side del der skal programmeres der kan levere den XML der skal ud. Her kan der også være forskel på programmeringssprogene.

Cold Fusion koder jeg i dagligt, det samme gør jeg med .NET og gammeldags ASP.

Min egen erfaring siger mig at Cold Fusion er umådeligt hurtigt at udvikle i, til gengæld er der problemer med WebServices og med ja mange andre ting (sikkert også derfor at MySpace er lidt bug fyldt, iøvrigt er Lonely Planet også kodet i Cold Fusion og er ikke buggy) Ud over det er Cold Fusion ikke super til OOP.

Når jeg koder .NET er det typisk i C#, her kan man helt sikkert udnytte de rige muligheder for OOP, og hvis man forstår at kode rigtigt, altså ikke nødvendigvis kode det som man kan dragge og droppe på siden via Visual Studio, ja så kan man også lave rigtig god kode og god web. MEN MEN MEN min erfaring siger mig også at det tager umådeligt lang tid at programmere i .NET hvis man altså vil gøre det på OOP måden. Det samme gælder iøvrigt JSP, det kodede jeg i for nogle år siden.

Hvad angår gammeldags ASP, ja så er OOP ikke særlig godt via old school ASP. Men ellers må jeg sige at det er et dejligt nemt sprog.

PHP derimod kender jeg intet til, hvordan er det at kode OOP i PHP og hvordan står det i det hele taget til med sproget?  Hvad ligner det sådan programmeringsmæssigt?

Det lyder til at der kan være mange penge at spare ved at bruge PHP, idet at det jo kan køre 100% gratis.

Nu tænker jeg bare at jeg idag har en MS SQL Server, hvor i der ligger en forbandet stor mængde data. Er det muligt at migrere den til MY SQL?
Avatar billede olebole Juniormester
08. december 2006 - 13:41 #5
<ole>

ASP er ikke et sprog, men et framework, hvori du kan skrive i forskellige sprog - og hvor godt ASP er OOP-wise, kommer jo helt anpå hvilket sprog, du skriver i  ;o)

Derudover er der intet i vejen for at anvende MySQL under ASP eller .NET.

Til slut behøver du ikke returnere data i XML, når du laver Ajax-applikationer. Faktisk er der væsentlige fordele ved at bruge JSON (JavaScript Object Notation) i stedet. Dels fylder det mindre - og dels er det betydeligt mere direkte at bruge i JavaScript/DOM ... men der skal helt korrekt bruges et serversprog under alle omstændigheder  ;o)

/mvh
</bole>
Avatar billede 3xm Nybegynder
08. december 2006 - 16:26 #6
leif (08/12-2006 08:48:39): "dr.dk er kodet i ASP så vidt jeg ved"

dr.dk er en skøn blanding af ASP VBScript 3.0, ASP.NET 1.1 C#, og så en masse ting udefra der primært bliver lavet i PHP.

=)
Avatar billede tiller3 Nybegynder
08. december 2006 - 17:59 #7
Og jeg ville jo saa sige Java. Bare det at du ved brug af velocity kan lave 100% adskillelse mellem din kode, og din html er grund nok til at vaelge det :}

Og jeg tror nu ikke hovedparten af Yahoo.com eller Amazon.com er lavet i PHP. De er saa vidt jeg ved hovedsagligt lavet i c++(Det var de i hvertfald engang), og bruger saa php til at binde de forskellige c++ moduler sammen.

Og brug IKKE JSP. Brug Java Servlets + velocity, saa du slipper for at blande kode og html. (Den der fik ideen om at blande kode og html, maa virkelig have haft en daarlig dag)*.

Husk regl 1 for webdesign: De folk der sidder og laver html, maa ikke ved en fejl kunne skabe nogle problemer overhoved. (Udover at fucke layout op altsaa :}

*Det er i hvertfald min mening, folk der mener det er en god ide at blande kode og html maa gerne blande sig :}

ps: Med html, menes faktisk html+javascript+css hvilket jo ogsaa er kode :}

pps: At oprette dette sp i php kategorien er maaske ikke det bedste sted. Proev fri debat i stedet :}
Avatar billede tiller3 Nybegynder
08. december 2006 - 18:02 #8
Og lad vaere med at bruge mysql. Brug PostgreSQL i stedet :} Den er bedre til at haandtere mange samtidige skrivninger. Men HVIS du bruger mysql saa HUSK at bruge innodb. Alt andet er totalt taabeligt(TM).

Egentlig har jeg ogsaa svaert ved at forstaa formaalet med dette spoergsmaal. Hvis du selv skal skrive sitet, saa vaelg et sprog du kender. Og hvis du skal hyre andre til det, saa lad dem bestemme hvilket sprog/database/os der skal bruges. Hvad der er bedst afhaenger ogsaa ofte af hvilken type ting websitet skal lave/kunne.
Avatar billede fuxi Nybegynder
08. december 2006 - 22:03 #9
>> Ole
Min fejl omkring ASP, jeg tænker på den hyppigst brugte variant hvor man bruger VBSscript i forbindelse med ASP frameworket.
VBScript er ikke super OOP Wise, så det er det jeg mener

Hvad angår AJAX, så er du forkert på den. Når jeg skriver AJAX så mener jeg AJAX, AJAX betyder Asynchronous JavaScript og XML, hvilket betyder at det er XML der kommer tilbage i hovedet på dig. Jeg er klar over at man godt kan gode noget semi AJAX der smider et HTTP request og man får noget HTML smidt tilbage i hovedet eller noget tekst for den sags skyld, men det er ikke det jeg tænker på. Jeg ved at der kan være fordele med begge løsninger, men jeg holder mig til den "rigtige" AJAX.

>> tiller3
Nej det er nok ikke det smarteste sted at smide dette spørgsmål, eller er det? Jeg ville gerne have input fra PHP folk, da jeg kender til de andre kendte websprog/frameworks. Så det jeg gik efter var at få input fra PHP folk :O) og mange tak for det, det har indtil videre været givtigt.

Hvad angår database valg, så har jeg også hørt fra andre kilder at PostgreSQL skulle være super.

Hvad angår mit valg af sprog, så prøver jeg her igennem på at få et overblik over hvad fordele og ulemper er ved de forskellige sprog. Ikke mindst fordi at jeg står og skal bruge arbejdskraft via outsourcing, så jeg vil vide hvor jeg kan få "bedst" kode for pengene. Jeg selv kommer også til at kode, men er ikke religiøs hvad angår programmeringssprog og databaser. Derfor denne debat :O)

/Fuxi
Avatar billede tiller3 Nybegynder
08. december 2006 - 23:19 #10
Saa skal jeg vel bare for sjov angive grunde til ikke at bruge Php.

Foerst: Der er egentlig to forskellige sprog, nemlig php4 og php5. Og selvom de
paa en maade en ens, saa er der stadig saa mange forskelle at man ikke bare
kan tage sit php4 program, og koere med php5. Eller lad mig quote fra manualen:

In PHP 5 there is a new Object Model. PHP's handling of objects has been completely rewritten, allowing for better performance and more features.
Saa hint1: Hvis du beslutter dig for at bruge php, saa brug Php5. Der var en grund til at de smed deres object model vaek, og lavede en helt ny til php5 :}

Og her er egentlig et godt eksempel paa problemet med php. Det er ikke designet som et egentlig sprog, men naermere bare en masse features og syntax
der kan bruges sammen. Php er resultatet af agile development brugt paa et programerings sprog, og det er ikke koent.

Eksempel: Vil du hente en enkelt raekke fra en mysql database, kan du passende bruge
mysql_connect til at connecte, saa  mysql_query til at sende en query, og saa mysql_result til at hente et enkelt felt fra resultatet.
Vil du goere det samme med postgresql skal du bruge
pg_connect til at connecte til database, saa pg_query til at sende en query, og nu tror du nok du kan bruge pg_result MEN NEJ for den metode
findes ikke.

Og lad mig tale lidt om hvordan man escaper strenge til sql*. Foerst var der addslashes() og den var ikke god. Saa de lavede en
mysql_escape_string som escaper stringe til mysql. Men paa grund af deres agile development, havde de ikke lige overvejet hvad de egentlig
havde brug for, saa de lavede mysql_real_escape_string. Og den virker. Hvis man saa vil escape sin string til en postgresql database, skal
man naturligvis bruge pg_escape_string i stedet. Men brug aldrig mysql_escape_string for den virker ikke. Forviret?

Og typerne. Nu har jeg jo aldrig vaeret glad for sprog med saa loese typer som php. Eksempel (Man bruger $ til at angive variable navne)
$a=47; // a er en integer.
$b="1hello"; // b er en streng.
$c=$a + $b;  // Hvad tror du vaerdien og typen af $c er? Svar: $c er en integer med vaerdien 48.

Og == kan godt sammenligne ting af forskellige typer, saa ( ("1hello" + 47)==48) er true.
Hvis du ogsaa vil sammenligne typer saa brug ===
("1hello" + 47)===48) er altsaa false.

Og hvis du vil have fancy ting saa som utf8 support, saa skal du endelig huske at compile php med --enable-mbstring ellers er du fucked. (Og stakkels
dig hvis du bruger en precompiled version af php, for de kommer normalt aldrig compiled med --enable-mbstring)

Og mbstring er ikke specielt smart paa nogle som helst maade, men bare rolig de er ved at lave en ny unicode extension i stedet for mbstring.
http://dk2.php.net/manual/en/ref.unicode.php (Agile development naar det er bedst :}

Og hvis du vil connecte til en smtp mail server som ikke koere paa samme maskine, saa pas endelig paa hvilken os du koere paa. Under windows
kan php nemlig GODT finde ud af at connecte til smtp servere, som ikke koere lokalt. Men under linux/unix vil den KUN sende mails via en
smtp server som koere paa samme maskine. (MEGET BELASTENDE!!!!!)

*Jeg syntes jo stadig der er noget slam at bygge sql paa den maade. Brug ALTID prepared statements. Selv hvis du kun skal lave
en enkelt query :}

Med venlig hilsen Martin T, som har koded saa meget php, at han ved hvorfor man ikke boer bruge det paa store sites.

pps: Jeg soeger stadig et studiejob(Laeser datalogi), saa hvis nogle staar og skal have hjaelp med at faa deres php site lavet saa skriv lige en besked.

ppps: Jeg mener stadig man kalder det ajax, selv naar serverens svar ikke er i xml. Lidt ligesom SOAP er det en af de forkortelser der har aendret betydning efter brug.

Med venlig hilsen Martin Tilsted.
Avatar billede tiller3 Nybegynder
09. december 2006 - 00:43 #11
Det lader dog til at php endelig har faaet fikset deres "alle vores database ting er forskellige design" med PDO som er inkluderet med php 5.1.? Saa der er i hvertfald et problem mindre man skal bekymre sig om.
Avatar billede olebole Juniormester
11. december 2006 - 10:22 #12
fuxi >> Jeg må desværre anføre, at det er dig, der har misforstået Ajax  =)

X'et i Ajax står ikke for XML, men for XMLHttpRequests. Der er ingen, der siger, at du behøver returnere XML-formaterede data i Ajax ... de kan f.eks. ligesågodt være JSON-formateret (hvilket faktisk har nogle ikke uvæsentlige fordele fremfor XML).

Noget af det, man nok skal passe allermest på, er folk, der har en - til religiøsitet grænsende - sikkerhed omkring, at det ene sprog/teknologi/browser sutter så og så meget i forhold til den, vedkommendes trosfæller anvender. Det er som regel folk, der endnu ikke har fattet voldsomt meget af, hvordan den virkelige programmeringsverden ser ud.
    Mellem to dybe grøfter ligger ofte en farbar vej  ;o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester