Dumt att knacka kod för hand?

Trädvy Permalänk
Medlem
Registrerad
Dec 2004

Dumt att knacka kod för hand?

Min historia är så här: byggde en hel del webb på gymnasiet (90-tal, tänk tabeller och möjligen något enkelt perlscript), tappade intresset under universtetsåren när det var mycket annat som tex java, sen de senaste åren tagit upp webb så smått igen.

Har uppdaterat mina html-kunskaper och förstår mig nu på validerande xhtml och css. Har också börjat lära mig sql och php och har kul med det. DOM och javascript har jag tittat på och jag förstår hur det fungerar även om jag måste leta upp konkreta exempel varje gång jag vill göra nåt sånt, är inte på den nivån att jag kodar ihop sånt själv på stående fot.

Jag har inte koll på kända buggar och sånt utan googlar problem allt eftersom de dyker upp och brukar då oftast finna lösningarna till "IE:s marginalbugg" osv. Har också läst en del härinne och på andra forum samt startat ett par trådar själv om saker jag tycker är svåra, det är tex ängsligt att folk hypotetiskt anstränger sig för att förstöra det jag har programmerat, så var det aldrig på universitetet

Jag skriver allt i notepad eller Crimson Editor.

Nu till frågan: har fått lite uppdrag i stil med föreningshemsidor och webbsidor till mindre företag, kul att göra nåt seriöst. Men när jag pratar med kompisar som också håller på med webb så verkar alla tycka att det är dumt att skriva koden själv. De verkar bara använda verktyg som Wordpress och Ruby on Rails. Jag har nu börjat fundera på om jag bara uppfinner hjulet med mina handskrivna php-sidor. Kort sagt, är det dumt av mig att inte använda färdiga verktyg direkt och vilka borde jag i så fall använda?

Hoppas nån har några tankar om detta!

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jan 2007

I vissa lägen är det klart en fördel att använda ett färdigskrivet system typ Wordpress eller Joomla, för att spara arbete. I nästan alla lägen är det en bra idé att använda ett ramverk typ RoR eller CakePHP, för att spara arbete och förenkla jobbet (man slipper uppfinna hjulet igen etc.). Själv är jag av den uppfattningen att när det gäller nånting större så kan man lika gärna använda ett ramverk, och om det råkar vara något som ändå kräver ett CMS är det lika bra att använda ett färdigt sådant. För jättesmå projekt (typ bara ett bildgalleri eller liknande) är det lite onödigt och då klarar man sig oftast utan varken ramverk eller CMS.

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jun 2004

Fortsätt använda PHP, det är perfekt för allt upp till och med medelstora webbplatser. Men som You säger; man har nästan alltid nytta av att kunna ett ramverk. Man kan vända på det och påstå att det är dumt att inte använda ett ramverk som PHP-utvecklare, det blir verkligen att uppfinna hjulet om och om igen. Jag rekommenderar dig starkt att lära dig ett ramverk om du vill fortsätta bygga webbplatser. Det krävs lite slit, men är långväga värt det.

Ett stort problem som då uppstår är att välja ett av dessa ramverk. Det finns inget självklart val, ramverken har sina för- och nackdelar allihop. Men CakePHP är nämnt och CodeIgniter nämner jag nu. Det bästa tips jag kan ge dig är: välj ett ramverk och lär dig det. Spendera inte massa tid på att lära dig flera olika för att se vilket som är bäst. Om du känner att det du valt absolut inte passar så visst, byt. Men byt helst inte mer än en gång. Sen när du gjort några projekt i ett ramverk och hör talas om fördelarna med ett annat (eller RoR), då blir det en annan sak.

Trädvy Permalänk
Medlem
Plats
Malmö
Registrerad
Jul 2002

Jag började med CI (CodeIgniter) för några veckor sedan och jag kan säga att inlärningströskeln är sjukt låg på detta.

Manualen är underbar och deras egna forum är helt klockrent.

fem toasts

Jag hatar att vara förkyld!

Trädvy Permalänk
Medlem
Registrerad
Dec 2004

Tack för alla svar!

Jag är inte helt på det klara med vad ett ramverk är trots idogt googlande. CMS fattar jag och jag har använt Wordpress tidigare, men sånt rekommenderar ni alltså bara om det är just en blogg/forum/butik man vill åt?

Just nu håller jag på med en föreningssida som ska ha jättefå funktioner, där är det väl rimligt att koda själv? Typ inloggningsscript och superenkel gästbok, kanske nåt smidigt sätt att lägga in mötesprotokollen.

Har även blivit ansvarig för en mindre företagssida som passar väl in på termen "brochureware" som jag stötte på när jag googlade ramverk, den är handgjord i nuläget och jag är osäker på hur jag ska gå vidare.

Tack för tips på ramverk, jag ska googla dem lite närmare så kanske jag fattar vad det är bra för. Det jag läst hittills har varit i abstraktaste laget, har inte riktigt kunnat se hur jag ska kunna använda mig av det i mina nuvarande projekt.

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jun 2004

Det är jättesvårt att definiera exakt vad ett ramverk är, frågar du 100 personer får du 50 svar. Exakt vad man använder det till är nämligen ganska personligt. Däremot kan jag förklara den grundläggande fördelen; att man inte behöver uppfinna nya byggstenar när man bygger flera hus. Även om husen ser lite olika ut, fungerar de till största delen på samma sätt. Det utnyttjar man med ett ramverk.

Tänk dig den gästbok du ska bygga. Du kommer att använda ett antal fält som definierar ett inlägg och du kommer kanske vilja validera att det är en användare och inte en robot, du kommer kanske implementera något annat slags säkerhets-/spamskydd (strippa bort HTML etc.) och så vidare. Allt detta har naturligtvis gjorts miljontals gånger av miljontals utvecklare. Så varför inte slå alla kloka huvuden ihop och bygga en generell modell för gästböcker? Och likadant med alla andra komponenter såsom användarinlogg och användarhantering, gallerier, privata meddelanden, forum, etcetera etcetera. Det finns färdiga script för alla de här komponenterna.

Men att hålla på och varje gång plocka ihop färdiga script, förstå dem och anpassa dem till ens egna behov, det är minst sagt ett irriterande arbete. Man vill ju ha det som man vill ha det, även om man inte vill uppfinna hjulet på nytt. Där kommer ett ramverk in i bilden. Ett ramverk förstår dig. Det inser att det du främst gör är att låta användare fylla i en massa formulär med en massa olika fält och lagra och använda värdena. Ramverket ger dig färdiga verktyg till att utveckla, så att du inte behöver göra allt själv (även om möjligheten finns kvar).

Gästboken? Du säger åt ramverket att du vill ha si och så många fält, de ska fungera på det här sättet och vips så är gästbokens funktionalitet klar. Rent praktiskt skapar du upp t.ex. ett objekt av typen FormValidator och säger åt det hur många tecken namnet får innehålla, att fält 2 är en e-postadress etc. istället för att manuellt knappa in koden för att validera en e-postadress ser ut. Sedan kommer det alltid finnas saker du får skriva själv, men de blir klart färre.

Trädvy Permalänk
Medlem
Plats
Västerås
Registrerad
Jun 2005

Känner för att lägga in mina tankar i diskussionen.

För min egen del har jag på det senaste året(2009) upptäckt ett fantastiskt CMS och blogg system vid namn Wordpress.

Det fina i kråksången är att det är otroligt lätt att konfigurera och anpassningsbart.
Jag använder det ofta numera som bas i CMS när jag vill skapa ett lite större och mer avancerat projekt.

Fördelen är att Admininstrations delen är ju redan klar och beprövad.
Wordpress stöds av en stor utvecklings community som hela tiden utvecklar och släpper patchar och uppdateringar.

Dessutom gillar jag stödet för plugins och hacks och ja. Man kan fortsätta i timmar och prata om Wordpress.

Många tror att Wordpress "bara" är till för bloggande. Jag hävdar motsatsen.
Om man vill kan man använda sig av bara CMS delarna av systemet, det vill säga "Pages" osv. Men man kan även konfigurera det hela så det inte alls liknar en blogg och uppför sig långt därifrån.

För mindre enstaka enklare saker, så som gästböker, gallerier, uppladdningtjänster med mera. You name it. Så kodar jag ofta ifrån start. Med hjälp av vissa egna klasser och funktioner som jag återanvänder och bara anpassar för syftet.

Sedan slänger man in lite JavaScript frameworks så som Prototype, jQuery, och Scriptacoulus. Osv för effekter och AJAX med mera.

Lycka till.

Fractal Design Arc Svart | MSI Z68A-GD55 G3 REV B3 | Intel® Core i7 2600K, 3.4GHz, 8MB | Corsair 16GB (4x4096MB) CL9 1600Mhz VENGEANCE LP | MSI GeForce GTX 670 | Phanteks PH-TC14PE CPU Cooler (vit) | Corsair Power Supply 650W TX M, Modular, ATX, PS/2 | SSD (okänd tillverkare) + 2 äldre SATA2 diskar på 750 Gb, 350 gb. | OS: Microsoft Windows 10 home.