What Er Dart, og hvorfor skulle du bry deg?
En
Del
24
Share
Dette Cyber mandag Envato Tuts + kurs vil bli redusert til bare $ 3. Ikke gå glipp av.
I denne opplæringen, vil jeg introdusere deg til Googles nye web-programmeringsspråk, Dart, og forklare hvorfor du bør like det, og hva du trenger å vite om det. Lær om dette nye språket og danner noen meninger om det - vil det virkelig erstatte Java
Hva er Dart
Rett fra hestens munn (som ligger her): br>
Dart er en klassebasert, single-arv, ren objektorientert programmeringsspråk. Dart eventuelt er skrevet … og støtter rei fi ed generika og grensesnitt. Dart programmer kan bli statisk kontrollert. Den statiske kontrolløren vil reportsome brudd på type regler, men slike brudd ikke avbryte compilationor hinder henrettelse.
Hvis det er en stor, dampende haug av mumbo-jumbo til deg, tillat meg å omskrive den ovenfor.
Class-baserte: Dart forventer at du skal bruke klasser. Mens Javascript er ganske-sorta klassebasert, kan du ikke skrive Dart uten å skrive klasser
Single-arven. Klasser kan forlenge andre klasser, men bare en av gangen. Dette er en felles struktur i objektorientert programmering. En sjelden noen språk støtter fler arv, men den generelle konsensus er at det fører til mer problemer enn det løser, så de fleste OOP språk gå for single-arv
Objektorientert programmeringsspråk. Denne uttalelsen er litt overflødige, gitt "class-baserte" litt fra før. Men det er viktig: Dart er OOP tvers igjennom. Faktisk er det heller minner om Java (Javascript, Java), som også er klassebasert
Eventuelt skrevet. De fleste språk er enten skrevet eller ikke. Javascript, for eksempel, er det ikke. Når du definerer en variabel, vil det være utypet. Du kan sette den til en String, deretter til et nummer, og ingen vil klage (vel, Jeg Eventuelt skrevet midler, som du kan nå gjette at du har muligheten til å erklære en type for variabler. Det er så enkelt som dette: du kan la den typen av, og kompilatoren vil ikke gjøre noe ekstra sjekking. Hvis du leverer en type, så kompilatoren vil hjelpe deg ut med feil. Actionscript er et eksempel på en annen eventuelt skrevet språk. Dette er ganske smart trekk, en som sannsynligvis er ment å bidra til å øke utbredelsen. Dart programmerere vil mest sannsynlig være Javascript programmerere gjør spranget. Støtte til en utypet språket JavaScripters en enklere læringskurve, samtidig som det gir en funksjon som mange programmerere insistere er avgjørende for alvorlig programmering, som kan plukkes opp på et senere tidspunkt tingliggjorte generika. Generics er et språk funksjon som lar deg skrive inn elementer av en samling. For eksempel kan en Array i Javascript ikke garantere at objektene det inneholder er noen spesifikk type (bortsett fra det faktum at Javascript er ikke et skrevet språk). Men generika lar deg spesifisere at hvert element i en Array - eller enhver annen samling type - må være av en viss type, kanskje en String. Således hvis du prøver å sette inn et tall i Array, kan du få advarsler. Rei fi ed generika gå et ekstra steg og tillate denne typen sikkerhets forbi kompilatoren. Skriv integritet under kjøring er bevart Grensesnitt:. Et grensesnitt er en hendig Objektorientert teknikk. Den definerer en type uten å definere funksjonalitet. Det er bruker er vanskelig å oppsummere i en setning eller ti, er nok å si at de er integrert til avansert (og ren) objektorientert programmering teknikker (nemlig designe mønstre). Når du Grok grensesnitt, vil du beklage mangelen på dem på andre språk Statisk sjekket. Dette går tilbake til det å skrive ting. Når typing er i bruk, er en variabel med en type regnes som "statisk skrevet," og som sådan den typen kan ikke endres etter at det er blitt erklært. Dette gjør at kompilatoren (eller "statisk kontrolløren") for å gjøre antagelser om dine intensjoner med koden; det vil si, hvis du deklarerer en variabel som en streng, så du bør ikke prøve å ringe changeTimeZone på den. Hvis du gjorde (kanskje du skrev i det du tenkte Ja, jeg måtte gi den "offisielle" forklaringen av Dart. Men det kan eller ikke kan tilfredsstille deg. Her er hva Dart er, med den typiske webutvikler i tankene. Dart er Googles erstatning for Javascript. Det ble annonsert i oktober 2011, og den generelle intensjon er å gi de samme verktøyene som Javascript gjør, bare som elektroverktøy. Som forklart i forrige trinn, har det mye med objektorientert funksjoner som den typiske Javascript programmerer vil være ukjente. Men de fleste programmerere som er kjent med disse funksjonene vil lett argumentere for dem som blir avgjørende for alvorlig utvikling. Kort sagt, Google mener at Javascript er ikke opp til oppgaven med å være en "ekte" programmeringsspråk, gitt mengden av tunge løft det er blitt gjort siden iPhone skutt hull i Flash er zeppelin. Googles håp er at Dart vil bli støttet nativt av alle de store nettleserne på lang sikt. Som åpenbart ikke skjer akkurat nå, gitt at Dart selv er fortsatt i tidlig-release-modus, og vi kan ikke forvente Apple, Microsoft, eller Mozilla skal hoppe om bord ennå. Men hva gjør Dart verdt å se på nå, er at Google har gitt en kompilator å konvertere Dart kode i vanlige Javascript. Personlig, er dette noe jeg har lengtet etter siden snu til Javascript, kommer fra Actionscript. Si hva du vil om Flash (og trygg, jeg har sikkert sagt det, også), men Actionscript 3 er et godt språk. Går fra avansert AS3 til Javascript har vist seg å føre til banning. Jeg har faktisk lekt med min egen Javascript-kompilator (jeg fikk ikke veldig langt, og jeg er ganske fornøyd med å forlate prosjektet), og jeg ville ha noe som kunne i det minste la meg utvikle med noen niceties, som ekte klasser, grensesnitt, og typer , selv om det samlet inn utypet, protoJavaScript. Kompilere prosessen kan ta noen feil før du kjører prosjektet, som er et enormt tidsbesparende. Så, om ikke Google får sin måte, er det absolutt mulig å skrive Dart prosjekter for Internett i dag, og vi vil gjøre nettopp det ved utgangen av denne opplæringen. Forhåpentligvis underveis, skal jeg overbevise deg om at Dart er faktisk ganske lovende. Nå som du er alle glade over "Script 2.0," nå for den harde sannheten . Bare Google har planer om å innlemme støtte for Dart i nettleseren sin. Ingen andre har uttrykt interesse for det. Faktisk har ganske mange uttalelser er gjort mot Og mens Dart prosjekter kan kompilere inn Javascript, Det er nødvendigvis en overhead i denne prosessen. Dart kompilatoren er ikke helt som den CoffeeScript kompilatoren, som er mer av en en-til-en prosess. Dart er dens eget språk, med biblioteker og slikt, og når kompilering inn Java det følgelig kompilerer ekstra bibliotek kode i den resulterende Javascript. Dette veier i dag mer enn et bibliotek som jQuery. Dette er nødt til å endre så Dart lag Finesses kompilering, men i utgangspunktet er det en jQuery-ish bibliotek som er nødvendig for å normalisere forskjeller nettleser, og også noen ekstra "sukker" for å gjøre Java litt mer ærlig om sin dynamiske natur. Denne form for ekstra vekt er ikke forferdelig, men hvis du bygger en enkel UI widget for et mobilt nettsted, er ikke så kanskje Dart det beste valget. Det vil skinne mer med større skala webapplikasjoner som er avhengige av betydelig Javascript. Til slutt, Dart tiden i utvikling. Det er spennende, og det er ikke noe "galt" med Dart per se, men hvis du begynner å utvikle i Dart nå, det er en viss sjanse for at API vil endre seg, eller at ting ikke vil bli dokumentert helt eller korrekt, og mengden informasjon på nettet er mindre enn, si, hvor mye du kan finne om jQuery. Det er blødning kanten, og det er kanskje ikke for deg, eller for et gitt prosjekt. Samtidig, det er blødning kanten, og det er kjempebra. Investere i en liten tid nå for å lære Dart kunne sette i et fint sted en gang Dart er mer stabil. Hvis du bli involvert nå, du selv har mulighet til å bidra til å forme språket. Dart mailingliste på Google Grupper har ofte noen back-og-tilbake mellom mennesker som tyder på ideer og Googles ingeniører reagerer på den ideen. Ofte brukerskapte ideer blir vurdert og det er ikke uvanlig å se dem innarbeidet. Jeg har allerede diskutert fordelene med et maskinskrevet, objektorientert språk, og det går sannsynligvis uten å si at disse trekkene er også awesome . Dart er også ganske minner om Java, og som bør være fantastisk hvis du er mer av en Java (eller C) programmerer som ønsker å komme inn i web-utvikling. Dart bør gi en bedre overgang til at verden enn Script ville. Til slutt, er ikke Dart bare om en Javascript-konkurrent. Det er et helt nytt språk, og det er klar til å kjøre hvor som helst. Det blir brukt på serversiden, a la Node.js, og lover å være en annen utbredt verktøy, som Ruby eller Python. Dette er selvfølgelig et ladet spørsmål, og jeg vil være å invitere en kommentar basert inkvisisjonen uansett hvordan jeg svare. Men svarer jeg skal. Du vil sannsynligvis allerede bryr seg, eller ikke bryr seg, avhengig av hvor mye du er plaget av Dart problemer, eller opphisset av Dart fordeler. De to foregående trinn gi deg mye informasjon den lede deg til din egen konklusjon. Hvis du er den typen person som har ideen om programmering Javascript er å søke på nettet etter jQuery plugins og installere dem på HTML side, så Dart sannsynligvis ikke kommer til å tilby deg mye spenning. Føl deg fri til å ikke bry seg. Og la meg spare deg for masse tid og avsløre at jeg basere resten av denne opplæringen på en forutsetning om at leseren bryr seg, i hvert fall nok til å utforske. Men hvis du er den typen front- forsøker end utvikler som faktisk tror på objektorientert Javascript for å bygge feil fanger inn dine skript, og har en tendens til å skrive mer Java enn HTML, så du kan være en redneck noen som bryr seg om god programmering, uavhengig av hvilket språk eller plattform, I så fall kan du bryr deg om Dart. Du minst skylder deg selv å prøve det ut. Etter min mening, viser Dart en rekke lover og har en plass i web-programmering. Men jeg tror ikke det kommer til å erstatte eller selv virkelig offset Javascript er herredømme over scripting på HTML-sider. Jeg tror det vil finne et sted med mer alvorlige web-applikasjoner, men med mindre de leserens stakere (andre enn Google) er enige om å bygge i en Dart VM - som jeg tror ikke sannsynlig - Dart skjebne er henvist til Chrome eksperimenter og stor- skala web apps. Enkle skript oppgaver, som en dash av interaktivitet på en ellers statisk side, vil ikke ha stor nytte av Dart. Når det er sagt, jeg føler det er alltid verdt å lære om nye ting. Du kan høre at den nye ting er ikke verdt tiden din, men du bør formulere at mening på egen hånd, gjennom erfaring. Vi vil gi litt erfaring i denne opplæringen, så hvis du føler deg eventyrlysten, gjør deg klar for Dart. Dette kort omtale av Dart har forhåpentligvis utløste din interesse i denne nye språk som kan eller kan ikke ta nettet med storm. Hvis du har lyst til å prøve det ut, ta en titt på min Facebook-eksklusiv tutorial som vil få hendene skitne med en enkel Dart prosjekt. (hvis du ikke er på Facebook, ikke bekymre deg . Opplæringen vil være på hoved Activetuts + nettstedet til slutt, og vi har mye mer Dart innhold stilt opp i mellomtiden.) Takk for lesing! Del dine meninger om Dart i kommentarfeltet. Anmeldelser
vil). Videre kan du ringe Array metoder på den variabelen, og du vil ikke ha noen problemer før du faktisk kjøre den linjen med kode. I kontrast er Java skrevet. Hver variabel må deklareres med en type, for eksempel streng eller int. Og når en variabel er skrevet, kan du ikke sette en annen type verdi i den. Og hvis du prøvde å ringe en metode som ikke finnes på denne typen, vil kompilatoren heve en feil, slik at du vet din feil før du kjører koden din. C og dens varianter er andre maskinskrevne språk, mens Ruby og Python er andre utypede språk.
var den variabelen som holder Date objekt), deretter kompilatoren kan varsle deg om feilen uten å måtte kjøre koden.
Så Hva er Dart Really ?
Hva er galt med dart?
Dart, eller i det minste tanken på å støtte Dart opprinnelig fra nettleseren skaperne selv.
Hva er kjempebra Om Dart?
Skulle du bry deg?
Konklusjon