Vilket ska jag börja med, Javascript eller PHP?

Permalänk
Medlem

Frågan är ju vad du vill göra.
Man kan tex med hjälp av bara php och css göra mycket kul saker till webben.
om man då lär sig jQuery och AJAX till det så kan man få riktigt snygga funktioner.

Visa signatur

Gaming: Epenis ++
Everything else: MacBook Air M1
Work: MBP M1

Permalänk
Skrivet av Ernesto:

Börja med Javascript - Det kan du applicera direkt på koden du skrivit i HTML och CSS - Vill du gå en rejäl genväg, skit i att lära dig JavaScript på "riktigt", utan börja med JQuery på en gång - Det är förenklad javascript och flitigt använt till det mesta du behöver göra.

Till exempel - Tryck på en knapp för att visa/dölja någonting
<span onclick="toggleDiv()">Klicka på mig för att dölja div</span>

<div id="IdPåElementet">Lite text</div>

<script>
function toggleDiv() {
$("#IdPåElementet").toggle();
}
</script>

Synnerligen enkelt. SEN när du har lekt med lite DOM-manipulering som det kallas (ändra saker på sidan i realtid) kan du börja lära dig mer om JavaScript - Oftast i de flesta sammanhang behövs inte mer, men grunden är mycket lättare.

När du har gjort en liten sida i html css och jquery, vill du kanske börja göra lite dynamik, då börjar du med PHP.

<span id="toggle">Klicka på mig för att dölja div</span> <div id="container">Lite text</div> <script> $("#toggle").click(function() { $("#container").toggle(); }); </script>

Mycket snyggare om man nu ska använda jQuery.

Men det är mycket smartare att först lära sig "riktigt" javascript, alltså grunden. För att sedan få förståelse över hur allting fungerar. Då går det mycket snabbare att börja programmera från grunden, utan att behöva kolla upp en hel drös med funktioner.

Permalänk
Medlem
Skrivet av Sephinator:

<span id="toggle">Klicka på mig för att dölja div</span> <div id="container">Lite text</div> <script> $("#toggle").click(function() { $("#container").toggle(); }); </script>

Mycket snyggare om man nu ska använda jQuery.

Men det är mycket smartare att först lära sig "riktigt" javascript, alltså grunden. För att sedan få förståelse över hur allting fungerar. Då går det mycket snabbare att börja programmera från grunden, utan att behöva kolla upp en hel drös med funktioner.

Betydligt snyggare ja, men för detta lilla kan man lika väl skippa Jquery då att skriva exakt detta utan är liksom en bagatell http://jsfiddle.net/JqHef/

var $qs = function (query) { return document.querySelector(query) }; //Behövs inte, bara förkortar koden. $qs("#toggle").onclick = function() { var style = $qs("#container").style; style.visibility = style.visibility == "hidden" ? "visible" : "hidden"; };

Visa signatur

Speldator: i7-8700k, 32GB DDR4, RTX2080
Server 1: SB 2500k, MZI -P67GD55, 32GB DDR3, Corsair MX 240GB SSD
Surface Pro 2017, Konsoler: Typ alla, Oculus Rift

Permalänk
Medlem

Jaja om pojkarna kan sluta fäktas med sina epenisar så tror jag kontentan är att lära dej grunderna först. HTML först, CSS för utseende är en viktig del, sen för funktioner så är väl javascript det som är praxis att lära sig.

Jquery är bara ett funktionsbibliotek till Javascript med massa funktioner, lär dig javascript först så du förstår vad Jquery är innan du lär dig Jquery.

Permalänk
Medlem

Ni är ju inga pedagoger precis

Det är klart att det är "bättre" att lära sig JavaScript först, men varför ska han göra det? Stor chans att han aldrig någonsin behöver kunna annat än API:n för jQuery och när han väl behöver kunna mer, ja då är han redan beredd att ge sig in i jungeln.

Tänk lite agilt nu grabbar! Snabbt ut med produkten, lär medan man skapar! Pang schmack, koda och sälj, nu är det helg!

Och sen visst visst, onclick är ju inte direkt modernt, men jag tänkte att det skulle vara lättare att läsa och förstå.

Permalänk
Medlem

Till att börja med så sluta omedelbart att hänvisa till w3schools skräpet.
Här är anledningen: http://www.w3fools.com

Sedan till trådskaparen vill jag säga följande:

Se det på detta sättet.

PHP använder du för att skapa dynamik i dina webapplikationer och PHP är "server-side" vilket betyder att det enbart körs på servern som sedan skickar resultatet till webläsaren "Klienten".

JavaScript använder du i dina websidor för att på "Klient-side" skapa interaktivitet och annat godis.

Så först bör man komma under fund med:
HTML5 och CSS och ha ett bra hum om detta.
Och när du förstår det så krydda på med PHP för att göra dina websidor dynamiska och få databas kopplingar och annat skoj.
Det finns så mycket man kan göra, endast fantasin sätter stop.
Viktigt är att du ger dig tid och inte biter av för stora bitar som nybörjare för då kan man tappa lusten om något strular.

Vidare när du har koll på detta så ta en titt på JavaScript.
För min egen del så hjälpte JavaScript Frameworket:
http://www.jquery.com
mig att komma igång bättre med JavaScript.

Lycka till.

Visa signatur

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.

Permalänk
Medlem
Skrivet av HurMycket:

I praktiken behöver man en webbserver för att kunna veta att allting funkar som i skarpt läge.

Återigen nej. Du kan skriva desktop appar terminalscript osv i PHP och kräver då ingen server. Om du just skall utveckla web så är det en annan sak och då kommer PHP nu för tiden med en inbyggd webbserver.

Visa signatur

Gigabyte Aorus Master | 32gb DDR4 3466MHZ CL14 | Ryzen 3950X | 3080Ti
En lång rad Intel system som barnen fått som speldatorer, VR-dator, massa bärbara, servrar, RPi's och andra boxar :P

Permalänk

Skulle lägga min fokus på PHP, som jag har grundläggande kunskaper i, men som sagt, JS och PHP är långt ifrån samma sak

Visa signatur

CPU: i7 3930k Moderkort: Rampage IV Extreme Kylare: Corsair H100i RAM: 64 GB Corsair Dominator Platinum 1600mhz Grafikkort: EVGA GTX 780 SC (SLI planerat) SSD: Samsung 840 Pro 256 gb Övrig lagring: WD black 2 TB x 2 Chassi: 900D PSU: Corsair 1200i Skärmar: 2x GW2750HM 1x GL2750HM

Permalänk
99:e percentilen
Skrivet av inquam:

Återigen nej. Du kan skriva desktop appar terminalscript osv i PHP och kräver då ingen server. Om du just skall utveckla web så är det en annan sak och då kommer PHP nu för tiden med en inbyggd webbserver.

Notera att jag skrev "I praktiken" och "som i skarpt läge". JavaScript och PHP används till minst 99 % för just webben. PHP:s inbyggda webbserver är inte den man använder i skarpt läge.

Visa signatur

Skrivet med hjälp av Better SweClockers

Permalänk
Medlem
Skrivet av HurMycket:

Notera att jag skrev "I praktiken" och "som i skarpt läge". JavaScript och PHP används till minst 99 % för just webben. PHP:s inbyggda webbserver är inte den man använder i skarpt läge.

Det är som sagt massor av projekt och skripts skriva i PHP som inte har något med webben att göra. Så 99% för web är det absolut inte. Både QT och GTK kan användas med PHP för att skapa desktop applikationer. Dock kan det disskuteras om det är ett vettigt alternativ. Men för att sätta sig och lära sig koda lite så visar detta klart att man inte behöver någon webserver och kan skriva i princip vilken typ av applikationer som helst. I pricnip alla av dem skulle nog varit snabbare om de skrevs i C++ naturligtvis, men det är fullt möjligt och är en mindre inlärningskurva än C++ och andra hårt typade språk.

http://gtk.php.net/
http://php-qt.berlios.de/

Och massor av terminal/cmd program är skrivna i PHP som tex Greyhole http://www.greyhole.net/
och där behöver man ingen som helst server. Koda och kör
http://www.sitepoint.com/php-command-line-1/

Skriva Windows appar i PHP funkar också
http://winbinder.org/

och med Phalanger kan man koda i Visual Studio och ha tillgång till hela .Net samt skapa dll filer osv skrivna i PHP.
http://phalanger.codeplex.com/

Visa signatur

Gigabyte Aorus Master | 32gb DDR4 3466MHZ CL14 | Ryzen 3950X | 3080Ti
En lång rad Intel system som barnen fått som speldatorer, VR-dator, massa bärbara, servrar, RPi's och andra boxar :P

Permalänk
Medlem
Skrivet av Evilmonkey:

ABSOLUT INTE! W3schools har inget att göra med W3C (som man kan tro), och sprider fel information och använder bad practices.

http://w3fools.com/

Visa signatur

[Intel i7 4770K] [ GTX 1070] [Asus ROG VI Gene] [Corsair AX860] [Corsair 16GB Vengeance LP] [120GBIntel 520] [Bitfenix Phenom M]

Citera för svar

Permalänk
Skrivet av nivv:

ABSOLUT INTE! W3schools har inget att göra med W3C (som man kan tro), och sprider fel information och använder bad practices.

http://w3fools.com/

du är trea på bollen

Okej, kanske inte är helt korrekt men tycker ändå deras upplägg funkar( iaf för min del). Är en riktig nybörjare när det gäller webbdesign så är inte allt för insatt. Min erfarenhet av W3schools har varit att man hittar det man söker efter och det fungerar skarpt. När jag kodar bryr jag mig inte om det är "korrekt" så länge funktionaliteten är tillfredsställande. Har dock inte hållit på med JS men ska göra det snart i en distanskurs.

Visa signatur

Stationär Dator : FD define r3|Corsair RM 750W|i7 4770K +NH-U9B SE2|Z87-DS3H|ASUS R9 290 4GB DirectCuII|A-data 1600 DDR3 8GB|2TB + 1TB + 1 TB + 120Gb SSD
Bärbar dator : Acer Aspire TimelineX 5820TG

BeErNwHiSkY:Beer and Whisky!

Permalänk
Medlem
Skrivet av Evilmonkey:

När jag kodar bryr jag mig inte om det är "korrekt" så länge funktionaliteten är tillfredsställande.

Bra där! Så länge det funkar är det korrekt i min bok. Allt det där andra är bara tjafs och petitesser. Kör så det ryker!

Permalänk
Medlem
Skrivet av Ernesto:

Bra där! Så länge det funkar är det korrekt i min bok. Allt det där andra är bara tjafs och petitesser. Kör så det ryker!

Njae... Tycker man skall vara lite försiktig här. Har tagit över stora system där tidigare utvecklare tänkt lite såhär. De visade sig med tiden att de ovetandes utvecklat saker som var beroende av en "bugg" i mysql och när det fixades i senare versioner slutade hela applikationen att fungera. Så att läsa så man gör "rätt" från början är definitivt att rekommendera.

Visa signatur

Gigabyte Aorus Master | 32gb DDR4 3466MHZ CL14 | Ryzen 3950X | 3080Ti
En lång rad Intel system som barnen fått som speldatorer, VR-dator, massa bärbara, servrar, RPi's och andra boxar :P

Permalänk
Medlem

Beror ju på vem som betalar för att det skall "göras rätt" och om "göra rätt" kostar mer än att släcka bränder efteråt samt den förlorade intäkten från längre utvecklingstid.

Permalänk
Medlem
Skrivet av Ernesto:

Beror ju på vem som betalar för att det skall "göras rätt" och om "göra rätt" kostar mer än att släcka bränder efteråt samt den förlorade intäkten från längre utvecklingstid.

Tror att vem som helst som betalar för att något skall lösas inte medvetet hade gått med på att betala för en lösning som man vet bygger på något som måste göras om. Att inte göra "rätt" från början är ofta otroligt mycket dyrare än att lägga lite extra tid på att göra rätt från start. Ofta är dock utveckling en itterativ process och det är naturligtvis svårt att veta exakt hur allt skall se ut redan innan man börjar. Men att medvetet ignorera att göra rätt kan bli väldigt dyrt. Förhållandet mellan kostnaden för att göra rätt från början och att göra om i ett befintligt system för att få det rätt brukar, i vetenskapliga rapporter, handla om potenser av tio.

Det säger sig också att om A är rätt sätt att göra något och B är fel sätt så kan omöjligen B + A (för att senare fixa systemet) vara billigare än endast A.
Skulle vara intressant om du kunde presentera några exampel på vad som skulle kunna vara billigare att göra medvetet fel och sedan göra rätt än att göra rätt från början.

Detta skall dock inte förväxlas med KISS, som förespråkar att du löser det du ska lösa och undviker att göra "för mycket". KISS förespråkar dock inte att man skall slarva med det man faktiskt löser. Men behöver du exempelvis en applikation med en knapp som du skall kunna trycka på, vilket skall resultera i en dialog med texten "hej", så skall man undvika att göra knappen blinkande och att en fanfar spelas när du trycker på den och dialogen presenteras eftersom detta inte är något som efterfrågas.

Visa signatur

Gigabyte Aorus Master | 32gb DDR4 3466MHZ CL14 | Ryzen 3950X | 3080Ti
En lång rad Intel system som barnen fått som speldatorer, VR-dator, massa bärbara, servrar, RPi's och andra boxar :P

Permalänk
Medlem

Jag skulle väja javascript. Det är mer klassisk programmering och chansen är att du blir sugen på att programmera vanliga program. Då finns det mycket likheter med typiska språk som c++, java etc.

Permalänk
Medlem
Skrivet av Viktator:

Jag skulle väja javascript. Det är mer klassisk programmering och chansen är att du blir sugen på att programmera vanliga program. Då finns det mycket likheter med typiska språk som c++, java etc.

Likheter med typiska språk som C++, Java etc?
Då både Java och C++ ofta används för objektorienterad utveckling (även om flera paradigmer stöds) så blir det då intressant att se likheterna på detta område.

Här är en superenkel klass i C++, PHP och Java. Den är kraftigt förenklad och jag har inte skrivit konstruktorer osv, samt att C++ funktionerna är inline vilket inte är kotym gällande stora C++ klasser.

Men llikheterna syns ju lite iaf.

PHP class Foo { private $_message; public SetMessage($message) { $this->_message = $message; } public GetMessage() { return $this->_message; } } C++ class Foo { private: string mMessage; public: void SetMessage(string message) { mMessage = message; } string GetMessage() { return mMessage; } } Java class Foo { private string mMessage; public void SetMessage(string message) { mMessage = message; } public string GetMessage() { return mMessage; } }

Nu har jag inte kört koden så har säkert missat någon liten del, men själva principen syns och man ser rätt fort att det är väldigt snarlikt. PHP saknar typer för variablerna och variablerna börjar med $. Strippar man detta och sätter typer på alla variabler så har man i princip en C++ klass. Hur ser detta då ut i javascript? Dels finns det flera sätt och dels är det inte riktigt lika intuitivt.

http://www.phpied.com/3-ways-to-define-a-javascript-class/

eller google på

"javascript classes"

För vissa programmerings paradigmer så kan man säkert hoppa lätt mellan språken även om man kört javascript först. Men OO är kanske inte direkt ett av de lättaste. Om det är OO och mera "klassisk" OO programmering som trådskaparen är ute efter så rekommenderar jag skrapt PHP framför javascript som förstaspråk. Sedan finns det andra språk som jag nog hade rekommenderat före något av dessa, men av dessa två nämnda så har PHP flest likheter (rent syntaxmässigt) med andra vanliga språk.

Visa signatur

Gigabyte Aorus Master | 32gb DDR4 3466MHZ CL14 | Ryzen 3950X | 3080Ti
En lång rad Intel system som barnen fått som speldatorer, VR-dator, massa bärbara, servrar, RPi's och andra boxar :P

Permalänk
99:e percentilen
Skrivet av inquam:

Det är som sagt massor av projekt och skripts skriva i PHP som inte har något med webben att göra. Så 99% för web är det absolut inte. Både QT och GTK kan användas med PHP för att skapa desktop applikationer. Dock kan det disskuteras om det är ett vettigt alternativ. Men för att sätta sig och lära sig koda lite så visar detta klart att man inte behöver någon webserver och kan skriva i princip vilken typ av applikationer som helst. I pricnip alla av dem skulle nog varit snabbare om de skrevs i C++ naturligtvis, men det är fullt möjligt och är en mindre inlärningskurva än C++ och andra hårt typade språk.

http://gtk.php.net/
http://php-qt.berlios.de/

Och massor av terminal/cmd program är skrivna i PHP som tex Greyhole http://www.greyhole.net/
och där behöver man ingen som helst server. Koda och kör
http://www.sitepoint.com/php-command-line-1/

Skriva Windows appar i PHP funkar också
http://winbinder.org/

och med Phalanger kan man koda i Visual Studio och ha tillgång till hela .Net samt skapa dll filer osv skrivna i PHP.
http://phalanger.codeplex.com/

Kan tyvärr inte läsa någon av länkarna, för har 0,02 Mbit/s och 4000 ms i ping.

Jag står fast vid "i praktiken". Jag är villig att slå vad om att TS tänker utveckla någon form av webbinnehåll. PHP står ändå för PHP: Hypertext Preprocessor.

Visa signatur

Skrivet med hjälp av Better SweClockers

Permalänk
Medlem
Skrivet av HurMycket:

Kan tyvärr inte läsa någon av länkarna, för har 0,02 Mbit/s och 4000 ms i ping.

Jag står fast vid "i praktiken". Jag är villig att slå vad om att TS tänker utveckla någon form av webbinnehåll. PHP står ändå för PHP: Hypertext Preprocessor.

Det tror jag säkert också är fallet. Men det ändrar inte på det faktum att uttalandet är felaktigt

Visa signatur

Gigabyte Aorus Master | 32gb DDR4 3466MHZ CL14 | Ryzen 3950X | 3080Ti
En lång rad Intel system som barnen fått som speldatorer, VR-dator, massa bärbara, servrar, RPi's och andra boxar :P

Permalänk
Medlem
Skrivet av Evilmonkey:

du är trea på bollen

Okej, kanske inte är helt korrekt men tycker ändå deras upplägg funkar( iaf för min del). Är en riktig nybörjare när det gäller webbdesign så är inte allt för insatt. Min erfarenhet av W3schools har varit att man hittar det man söker efter och det fungerar skarpt. När jag kodar bryr jag mig inte om det är "korrekt" så länge funktionaliteten är tillfredsställande. Har dock inte hållit på med JS men ska göra det snart i en distanskurs.

Japp, såg det sen Visst fungerar det oftast, men när man ser till säkerhet så är det åt helvete. Kolla deras mySQL/PHP-instruktioner, helt bedrövligt. Detta är sånt man omöjligt kan veta som nybörjare, därför ska man lära sig från en bättre källa.

Visa signatur

[Intel i7 4770K] [ GTX 1070] [Asus ROG VI Gene] [Corsair AX860] [Corsair 16GB Vengeance LP] [120GBIntel 520] [Bitfenix Phenom M]

Citera för svar

Permalänk
Medlem
Skrivet av inquam:

Likheter med typiska språk som C++, Java etc?
Då både Java och C++ ofta används för objektorienterad utveckling (även om flera paradigmer stöds) så blir det då intressant att se likheterna på detta område.

Här är en superenkel klass i C++, PHP och Java. Den är kraftigt förenklad och jag har inte skrivit konstruktorer osv, samt att C++ funktionerna är inline vilket inte är kotym gällande stora C++ klasser.

Men llikheterna syns ju lite iaf.

Nu har jag inte kört koden så har säkert missat någon liten del, men själva principen syns och man ser rätt fort att det är väldigt snarlikt. PHP saknar typer för variablerna och variablerna börjar med $. Strippar man detta och sätter typer på alla variabler så har man i princip en C++ klass. Hur ser detta då ut i javascript? Dels finns det flera sätt och dels är det inte riktigt lika intuitivt.

http://www.phpied.com/3-ways-to-define-a-javascript-class/

eller google på

"javascript classes"

För vissa programmerings paradigmer så kan man säkert hoppa lätt mellan språken även om man kört javascript först. Men OO är kanske inte direkt ett av de lättaste. Om det är OO och mera "klassisk" OO programmering som trådskaparen är ute efter så rekommenderar jag skrapt PHP framför javascript som förstaspråk. Sedan finns det andra språk som jag nog hade rekommenderat före något av dessa, men av dessa två nämnda så har PHP flest likheter (rent syntaxmässigt) med andra vanliga språk.

I stora delar håller jag med dig, men man kan konstatera två saker. Dels att det är paradigmen som är det intressanta, även om det bland nybörjare alltid finns ett fokus på att lära sig språk.

För det andra så är ett problem med PHP att även om det är ett fullfjädrat OO-språk så har det en extremt bred användarbas, varav många aldrig hört talas om OO öht, vilket gör att det är mycket lättare att hitta exempel på dålig programmering i PHP. Jag tror att om man börjar med PHP så är risken stor att man kommer börja med att skriva kodsnuttar i html-filer och därifrån är steget ganska långt till att skriva objektorienterat. I t.ex. Java är man ju mycket mer tvingad att skriva OO, även om många böcker envisas med att börja med ett procedurellt tänk ändå (och betrakta main-klassen som nåt krimskrams som bara måste finnas där för att det ska fungera).

Exakt vad man ska göra beror förstås på vad man har för syften, men ett tips kan ju vara att börja med att titta på ett befintligt ramverk, gärna nåt lite enklare, i t.ex. PHP (om det nu är PHP man vill lära sig), därför att då får man objektorienteringen med sig direkt. Det blir en liten tröskel att förstå koden, men är man inte tappad bakom en vagn fixar man det och det är mycket bättre att få nåt att bita i direkt tycker jag.