WN

WN (https://www.wn.se/forum/index.php)
-   Allmänt (https://www.wn.se/forum/forumdisplay.php?f=2)
-   -   Tips på webbprojekt (https://www.wn.se/forum/showthread.php?t=1057033)

pelmered 2013-03-02 13:09

Citat:

Ursprungligen postat av tartareandesire (Inlägg 20463750)
Tar man exempelvis delar av Symfony och sätter ihop sitt eget ramverk så uppfinner man ju inte hjulet på nytt, snarare anpassar hjulen till egna behov och slipper en del onödigt. Det skapas fortfarande nya ramverk. Med ditt resonemang så innebär ju också Symfony och Laravel återuppfinningar av hjulet? :) Att bygga ett eget ramverk kan också vara bra träning samtidigt som man mycket väl kan skapa en lättviktsgrund som kan passa många projekt bättre än ett större ramverk.

Fast den stora fördelen med att använda ett ramverk är att man tvingas in i struktur som är dokumenterad och som andra förstår.
Som ensam utvecklare är det givetvis bäst att ta alla strukturella beslut själv, men om projektet någon gång tas över av någon annan eller växer så att man blir fler utvecklare är det ofta en mardröm för den som ska sätta sig in hur allt fungera. Det leder till långa inlärningsperioder och det tar ofta flera månader innan en ny utvecklare blir produktiv och skriver bra kod för det systemet.

En annan stor fördel är att det är fler utvecklare som underhåller core-koden vilket gör den säkrare, stabilare och avlastar dig från det arbetet. Moduler som du skrev att man använder även i egna ramverk är kompatibilitetstestade på ett helt annat sätt - både med nuvarande konfiguration och med kommande.

danjel 2013-03-02 15:04

Vi har ju även Silex, byggt med Symfony 2 komponenter

gildebrand 2013-03-02 15:44

Yii är ett annat väldigt trevligt ramverk.
Har kört det för några projekt nu och gillar det väldigt mycket. Har sneglat lite på Laravel också som verkar väldigt trevligt, men Yii funkar än så länge väldigt bra för mig så fortsätter nog med det ett tag till :)

secag 2013-03-02 15:45

Vad tycker ni själva om Melt? Om ni har användt det förstås.

tartareandesire 2013-03-02 16:15

Citat:

Ursprungligen postat av ITisGood.se (Inlägg 20463850)
Fast den stora fördelen med att använda ett ramverk är att man tvingas in i struktur som är dokumenterad och som andra förstår.
Som ensam utvecklare är det givetvis bäst att ta alla strukturella beslut själv, men om projektet någon gång tas över av någon annan eller växer så att man blir fler utvecklare är det ofta en mardröm för den som ska sätta sig in hur allt fungera. Det leder till långa inlärningsperioder och det tar ofta flera månader innan en ny utvecklare blir produktiv och skriver bra kod för det systemet.

En annan stor fördel är att det är fler utvecklare som underhåller core-koden vilket gör den säkrare, stabilare och avlastar dig från det arbetet. Moduler som du skrev att man använder även i egna ramverk är kompatibilitetstestade på ett helt annat sätt - både med nuvarande konfiguration och med kommande.

Håller med dig helt och hållet. Om man bygger eget med hjälp av ett befintligt ramverk så behåller man ju emellertid ramverkets struktur och syntax så där spelar den problematiken ingen större roll. Vunnen prestanda kan i vissa fall också vara viktigare än en viss inlärningstid. Man får helt enkelt göra avvägningar från fall till fall.

pelmered 2013-03-02 16:53

Citat:

Ursprungligen postat av tartareandesire (Inlägg 20463858)
Håller med dig helt och hållet. Om man bygger eget med hjälp av ett befintligt ramverk så behåller man ju emellertid ramverkets struktur och syntax så där spelar den problematiken ingen större roll. Vunnen prestanda kan i vissa fall också vara viktigare än en viss inlärningstid. Man får helt enkelt göra avvägningar från fall till fall.

Ja, det håller jag med om. Jag fattade det som att du menade att man gör ett eget ramverk ifrån grunden och sedan bara plockar in vissa moduler/klasser ifrån andra ramverk. Då ligger det ju inget ramverks struktur i botten.

Man ska givetvis göra avvägningar när man väljer hur man ska bygga något även om jag tycker det är bättre att använda något ramverk som kärna i de flesta fall.
När det gäller prestanda är själva kodexekveringen sällan flaskhalsen när det gäller webbapplikationer och det är i regel den del av applikationen som är allra enklast att skala. Sedan finns det även väldigt många olika cachelösningar som avlastar webbservrarna. Lite mer hårdvara är oftast betydligt billigare än att ha fler utvecklare för att nå samma utvecklingstakt.

Conny Westh 2013-03-02 17:15

Citat:

Ursprungligen postat av ITisGood.se (Inlägg 20463860)
Ja, det håller jag med om. Jag fattade det som att du menade att man gör ett eget ramverk ifrån grunden och sedan bara plockar in vissa moduler/klasser ifrån andra ramverk. Då ligger det ju inget ramverks struktur i botten.

Man ska givetvis göra avvägningar när man väljer hur man ska bygga något även om jag tycker det är bättre att använda något ramverk som kärna i de flesta fall.
När det gäller prestanda är själva kodexekveringen sällan flaskhalsen när det gäller webbapplikationer och det är i regel den del av applikationen som är allra enklast att skala. Sedan finns det även väldigt många olika cachelösningar som avlastar webbservrarna. Lite mer hårdvara är oftast betydligt billigare än att ha fler utvecklare för att nå samma utvecklingstakt.

Nu skriver du saker jag håller med om till 100%.

När man utvecklar applikationer så får man ofta göra väl avvägda kompromisser, och en viktig del är att det är ofta bätrre att ha en god struktur i sin kod än att optimera på prestanda.

Det kostar oftast mer att lägga ner en massa timmars arbete av ett gäng utvecklare än att köpa vassare hårdvara.

En god struktur i koden spar tid i underhållet och blir därmed billigt och minskar risken att buggar införs.

Har man extremt komplex kod så är det svårt för alla utvecklare tat ha överblick och då ökar risken dramatiskt för nya buggar. Därför är det viktigt att ha en enkel och tydlig struktur så nya utvecklar esnabbt kan sätta sig in i hur strukturen fungerra. Det underlättar då dramatiskt om man använder välkända ramverk.

Bra är att bygga koden som "moduler" eller återanvändbara "komponenter" så man bar abehöver skriva den verksamma koden en gång, sen kan man anropa dessa komponenter hundratals gånger i sin kod och det funkar "hvergang"....

Skulle man hitta en bugg i en komponent så är det snabbt att göra en rättelse och sen slår den igenom överallt där komponenten används.

tartareandesire 2013-03-02 18:14

Citat:

Ursprungligen postat av ITisGood.se (Inlägg 20463860)
Ja, det håller jag med om. Jag fattade det som att du menade att man gör ett eget ramverk ifrån grunden och sedan bara plockar in vissa moduler/klasser ifrån andra ramverk. Då ligger det ju inget ramverks struktur i botten.

Man ska givetvis göra avvägningar när man väljer hur man ska bygga något även om jag tycker det är bättre att använda något ramverk som kärna i de flesta fall.
När det gäller prestanda är själva kodexekveringen sällan flaskhalsen när det gäller webbapplikationer och det är i regel den del av applikationen som är allra enklast att skala. Sedan finns det även väldigt många olika cachelösningar som avlastar webbservrarna. Lite mer hårdvara är oftast betydligt billigare än att ha fler utvecklare för att nå samma utvecklingstakt.

Nej nej, menade inte att man skulle blanda vilt.

Du behöver ju inte fler utvecklare fördenskull, det behövs eventuellt bara en liten startsträcka för varje ny. Ramverket behöver inte göra mycket nytta just i det avseendet ändå, väljer man exempelvis Laravel eller Symfony så är det relativt få utvecklare som kan det och man vill inte gärna begränsa sig så pass i sin rekryteringsprocess. CodeIgniter är tvärtom ett av de absolut populäraste ramverken och många väljer därför detta trots att det är avsevärt sämre än andra. Populariteten kommer att fortsätta gå upp och ner för olika ramverk, det kommer att tillkomma en del medan andra lär försvinna nästan helt. Det är ofta bättre att söka efter en bra programmerare än en person som är kunnig inom just ditt ramverk.

tartareandesire 2013-03-02 18:24

Med tanke på denna sidodiskussion kom jag på en idé till ett mindre projekt du kan sätta igång med :) Varför inte en sida med benchmark-tester av olika slag där du jämför olika ramverk, funktioner, utvecklingstekniker osv.?

Nihilnovi 2013-03-03 15:37

Citat:

Ursprungligen postat av tartareandesire (Inlägg 20463872)
Med tanke på denna sidodiskussion kom jag på en idé till ett mindre projekt du kan sätta igång med :) Varför inte en sida med benchmark-tester av olika slag där du jämför olika ramverk, funktioner, utvecklingstekniker osv.?

Har faktiskt tänkt på det tidigare, dock så är det väldigt svårt och tidskrävande att göra sånna tester korrekt, det slutar i princip alltid med att de som "förlorar" drar upp en hel del punkter om varför konfigurering/hårdvara/version/cachemotor/distro/etc är till fördel för de som "vann", och tester är "ogiltigt".

Svårt att göra en sån sida utan att det är en gigantisk flamebait :P


Alla tider är GMT +2. Klockan är nu 01:48.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson