Facebook vil bygge et bedre PHP med Hack. Spoiler Det er veldig bra.
For 10 år siden, i et Harvard sovesal, ble Facebook lansert. I utgangspunktet var det bare Mark Zuckerberg hacking bort på en kodebase som besto utelukkende av PHP-kode. Hvordan fungerer Facebook? Nøtene og boltene [Teknologi forklart] Hvordan fungerer Facebook? Nøtene og boltene [Teknologi forklart] Les mer, interagere med en MySQL-database.
Siden da har den ballong i størrelse, både når det gjelder brukere og utviklere som jobber med en kodebase som stadig vokser. Det ble snart klart at mens PHP var et godt språk for å starte Facebook med, var det ikke lenger egnet for selskapets behov.
Og dermed skapte de Hack, som er et spesialbygget språk som muliggjør raskere utvikling, større utviklingslag, samtidig som det opprettholder full interoperabilitet med det populære PHP-programmeringsspråket. Lær å bygge med PHP: En Crash Course Lær å bygge med PHP: En Crash Course PHP er språket som Facebook og Wikipedia bruker til å betjene milliarder forespørsler daglig; de-facto-språket som brukes til å lære folk webprogrammering. Det er vakkert enkelt, men briljant kraftig. Les mer .
Mottak av Hack av utviklingssamfunnet har ikke vært så imponerende. Folk er svært glade for et språk som er raskt, men likevel lett å utvikle, samtidig som de opprettholder bakoverkompatibilitet med de mange PHP-bibliotekene som eksisterer akkurat nå.
Her er alt du trenger å vite om å installere Hack, samt hvordan du får føttene våte med språket.
Hva er så spesielt om Hack?
Flott spørsmål. Du vet sikkert at noen programmeringsspråk er kompilert til byte-kode som kjører på en spesiell virtuell maskin (som Java og Clojure), mens andre språk (som PHP, Ruby og Python) kjører i en tolk.
Du vet også sikkert at tolkede språk er iboende langsommere enn språk som produserer byte-kode som er spesielt optimalisert for de virtuelle maskinene de kjører på. Det er derfor hvorfor det finnes dialekter av Python og Ruby (kalt Jython og JRuby henholdsvis) som kjører på Java Virtual Machine Hva er Java Virtual Machine og hvordan virker det? Hva er Java Virtual Machine og hvordan virker det? Selv om det ikke er strengt nødvendig å vite at det fungerer for å kunne programmeres i Java, er det fortsatt godt å vite fordi det kan hjelpe deg å bli en bedre programmerer. Les mer .
Hack kjøres unikt på sin egen virtuelle maskin, kalt Hip Hop Virtual Machine. Det er denne VM som har blitt brukt av Facebook til å skala for milliarder av daglige brukere.
Hack er mer enn VM som den kjører på. Den kommer også med typebeskrivelser, slik at du kan erklære variabler basert på innholdet de vil lagre (streng, heltall, boolsk), lambda (anonyme) funksjoner og generiske.
Installere Hack
Jeg har noen dårlige nyheter for OS X og Windows-brukere. Hack fungerer heller ikke på disse plattformene, eller støtte er så flakket det er ikke verdt å diskutere. I stedet skal du enten brenne opp en Linux VPS Lær alt om virtuelle private servere om to minutter Lær alt om virtuelle private servere om to minutter Med så mange flotte web hosting-tjenester tilgjengelig, er det vanskelig å bestemme den rette til å passer dine behov. Les mer eller VM.
Ut av ren latskap, endte jeg med å bosette seg på å skape en Linux VPS med Digital Ocean, som er en av mine favoritt VPS-leverandører. Jeg opprettet en liten dråpe som kjører Ubuntu 13:10 Ubuntu 13.10 lansert med Friends Scope, Dash Filters og More Ubuntu 13.10 lansert med Friends Scope, Dash Filters og More Canonical har lansert den nyeste og beste versjonen av verdens mest populære gratis og åpen kildekode desktop operativsystem, Ubuntu 13.10 “Saucy Salamander”. Les mer, og installer deretter Hack med følgende kommandoer.
wget -O - http://dl.hhvm.com/conf/hhvm.gpg.key | sudo apt-key add-echo deb http://dl.hhvm.com/ubuntu saucy main | sudo tee /etc/apt/sources.list.d/hhvm.list sudo apt-get oppdatering sudo apt-få oppgradering sudo apt-get installere hhvm-nattlig
Som du kan se her, laster jeg ned GPG-nøkkelen til Hack-repositoriene; legg til lagringsplassen i kildelisten oppdater mine kilder definisjoner; oppgrader systemet og installer Hack. Enkel, virkelig.
Hacking With Hack
Nå er det på tide å skrive litt Hack-kode. Vi starter med det velprøvde "Hello World" -programmet. Denne kommer ikke til å kjøre i en nettleser, men skriver ut 'Hello World' til konsollen.
Opprett en ny fil kalt HelloWorld.php (ja, av en eller annen grunn henger Hack på å bruke .php som standard filtype) i din favoritt tekstredigerer (mitt foretrukne valg er VIM Topp 7 grunner til å gi Vim Text Editor en sjanse Topp 7 grunner til å gi Vim Text Editor En sjanse I mange år har jeg prøvd en tekst redaktør etter en annen.Du heter det, jeg prøvde det.Jeg brukte hver av disse redaktørene i over to måneder som min primære daglige redaktør. På en eller annen måte, jeg ... Les mer) og legg til følgende linjer.
Som skal skrive ut Hei Verden til konsollen da det kjørte med 'hhvm', slik som det.
OK, la oss prøve å kjøre et Hack-program i nettleseren. Først må vi installere Apache og PHP. Jeg har rørt på dette i en tidligere artikkel som er registrert for SSH-only web hosting? Ikke vær bekymret - enkelt installer hvilken som helst webprogramvare som er registrert for SSH-only web hosting? Ikke vær bekymret - enkelt installer hvilken som helst webprogramvare. Kjenner ikke den første tingen om operativsystemet Linux gjennom sin kraftige kommandolinje? Bekymre ikke mer. Les mer, men for å oppdatere minnet, kjører jeg igjen. Kjør følgende kommandoer.
sudo apt-get install apache2 sudo apt-get installer php5
Du kan også installere Apache, PHP, MySQL og en hel haug med andre nyttige verktøy med følgende kommando. (Ikke glem caret på slutten av linjen - lampeserveren er ikke en enkelt pakke, men heller en samling)
sudo apt-get install lamp-server ^
Du anbefales å kjøre dette hvis du planlegger å se nærmere på webutvikling med Hack-programmeringsspråket, da det inneholder mange verktøy som du kan finne ganske nyttige.
Når du har gjort det, starter du Hip Hop VM med følgende kommando.
sudo /etc/init.d/hhvm start
Kontroller at Apache kjører ved å åpne en nettleser og navigere til IP-adressen til webserveren din. Hvis alt kjører, bør du se dette.
Flott! Nå, naviger til / var / www og fjern siden du nettopp så (kalt 'index.html') med følgende kommandoer.
cd / var / www rm index.html
Lag nå en fil som heter index.php, og legg til de samme linjene du skrev før.
Hei Verden";
Når du har gjort det, må du besøke webserveren med den valgte nettleseren din.
Som du kan se, er det litt rar med Hack som gjenkjenner enden av en streng. Som et resultat vil jeg gjerne benytte anledningen til å minne deg på at mens denne teknologien er ganske kul, er den fortsatt ganske rå, og muligens ikke klar for produksjonsutplasseringer. Jeg vil imidlertid legge til at jeg kjører den nattlige versjonen av Hack, som er den mest blødende kanten versjonen tilgjengelig. Som et resultat, bør det ikke være for overraskende at noen ting ikke løper helt bra.
Hvis du kjenner PHP, kan du kanskje gjenkjenne "Echo" -klæringen jeg brukte før. Vel, Hack kan ringe noen PHP-funksjon. Her ringer jeg 'phpinfo ();' innenfor et Hack-program.
Noen Hack-spesifikk funksjonalitet
Hack bringer mye til bordet, med hensyn til nye språkfunksjoner. Jeg diskuterte noen av dem før, inkludert typeerklæringer. Dessverre, vi kommer ikke til å kunne dekke alt i denne en artikkelen, men jeg skjønte det kan være en god ide å se på hvordan Hack håndterer typedefinisjoner.
Så, for å oppsummere, er typedefinisjoner der du definerer en variabel basert på innholdet den vil holde. Hvordan virker det? Vel, litt som dette.
Som du kan se begynner vi med typedeklarasjonen, etterfulgt av navnet på variabelen (starter med et dollarskilt, som i tradisjonelt PHP), etterfulgt av verdien tilordnet variabelen.
Dette kommer også til spill med funksjonserklæringer. Når du erklærer en funksjon og sender den til en parameter, må du erklære hvilken type variabel du vil passere inn i den. Hvis du ikke gjør det, eller passerer feil type variabel, kan du forvente å gnage og gnisse av tennene.
Så, hvordan fungerer dette egentlig i Hack? La oss finne det ut.
Opprett en ny fil kalt 'function.php' og skriv følgende linjer.
Hvis du har brukt PHP tidligere, kan du kanskje tyde på noe av dette. Vi har opprettet en funksjon som vi har kalt "hei". Vi sender det en streng, som deretter ekko til konsollen, etter ordet 'Hello'.
Men hva er det : tomrom bit? Vel, i Hack, må vi fortelle datamaskinen om funksjonen vil returnere en verdi. Hvis det ikke er det, sier vi at funksjonen er "ugyldig". Som alt med Hack, må vi deklarere hvilke verdier som skal returneres.
Vi kjører deretter denne koden med kommandolinjeprogrammet 'hhvm', og vi bør se dette.
Konklusjon
Det er mye å elske om Hack.
Det er et språk som krever at du skriver bedre kode, samtidig som du er lett å forstå og latterlig rask. Den har også støtte fra et av de største teknologibedrifterne rundt akkurat nå, som bruker det daglig i produksjon for å gjøre en av de største nettstedene i skala til millioner av brukere.
Til tross for det er det fortsatt et veldig nytt språk. Faktisk skrev jeg denne artikkelen dagen etter at den ble utgitt for publikum. Det er vanskelig å anbefale at noen begynner å sette den inn i produksjon akkurat nå, men sikkert leke med den.
Men det er bare min mening. Vil du prøve det? Send meg en kommentar nedenfor og gi meg beskjed om hva du synes.
Utforsk mer om: Apache Server, Programmering, Webutvikling.