Val av teknik för ny websida? Vad gäller?

Trädvy Permalänk
Medlem
Registrerad
Jan 2004

Val av teknik för ny websida? Vad gäller?

Hej,

Jag jobbat många år med utveckling, främst har det dock varit Windows applikationer men tidvis även en del web(ex Bradspel.net och Biss.se).

Nu funderar jag på att starta ny websida för att samla och samordna folk med ett givet intresse. Frågan är bara vilken teknik det är som gäller nu?

I grunden har jag alltid föredraget .NET men ASP.NET(MVC) känns minst sagt förlegat idag. Jag vill jobba med något som är hyfsat beprövat och där det finns en del handfasta resurser att ta del av. Jag är alltså inte intresserad av något som är i preview form eller något åt det hållet.

Min egna fundering är Angular då jag inte gillar React, jag känner till att det finns en ny Angular på väg men vad jag förstår så är det ett bra tag till. På backend är det väll ganska vanligt med Node JS nu men jag skulle gärna köra någon typ av REST server gjord med .NET för att ta till vara på de kunskaper jag redan har(tror jag får fullt upp att tämja javascript på klientsidan).

Tacksam för förslag från folk som har bättre insikt, gärna med motivering.

CPU : Intel Core i7 2600K Moderkort : Asus P8Z68-V PRO GEN3 Grafikkort : MSI Geforce GTX 970 Gaming 4GB Minne : Corsair 8GB (2x4096MB) CL9 1600Mhz XMS3 1,5V Chassi : Fractal Design Define r3 Nätdel : Corsair 650W ModulärtOS disk : Intel 530 240 GB SSD Övriga diskar : 2x WD Red 2 TB, 2x WD Green, 1x WD 750 GB, 1x WD 500 GB Optisk enhet : Optiarc AD-7280S SATA

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Aug 2009
Skrivet av Jimmy:

Hej,

Jag jobbat många år med utveckling, främst har det dock varit Windows applikationer men tidvis även en del web(ex Bradspel.net och Biss.se).

Nu funderar jag på att starta ny websida för att samla och samordna folk med ett givet intresse. Frågan är bara vilken teknik det är som gäller nu?

I grunden har jag alltid föredraget .NET men ASP.NET(MVC) känns minst sagt förlegat idag. Jag vill jobba med något som är hyfsat beprövat och där det finns en del handfasta resurser att ta del av. Jag är alltså inte intresserad av något som är i preview form eller något åt det hållet.

Min egna fundering är Angular då jag inte gillar React, jag känner till att det finns en ny Angular på väg men vad jag förstår så är det ett bra tag till. På backend är det väll ganska vanligt med Node JS nu men jag skulle gärna köra någon typ av REST server gjord med .NET för att ta till vara på de kunskaper jag redan har(tror jag får fullt upp att tämja javascript på klientsidan).

Tacksam för förslag från folk som har bättre insikt, gärna med motivering.

Inget fel på (nyare) ASP.NET? Du kan använda det tillsammans med angular och .NET är definitivt bättre att skriva backenden i än python/php (vägrar röra node.js, allt som har med javascript att göra undviker jag helst) Ladda ner senaste VS2015 och kör ASP.NET WebApi och kör ett angular frontend.

Känner du dig modig kan du använda SignalR (.NET) och köra WebSocket mellan din server och klient.

7900x @ 4,7ghz - 1080ti @ 2100

Trädvy Permalänk
Medlem
Registrerad
Okt 2002
Skrivet av celoz:

Inget fel på (nyare) ASP.NET? Du kan använda det tillsammans med angular och .NET är definitivt bättre att skriva backenden i än python/php (vägrar röra node.js, allt som har med javascript att göra undviker jag helst)

Varför?

Trädvy Permalänk
Medlem
Registrerad
Jan 2004
Skrivet av Yxskaftet:

Antar att det handlar om erfarenhet, det väl som att slänga in en PHP utvecklare i ett .NET projekt, det kommer bli omständigt, det kommer att strula och det kommer att ta tid. Är man vad vid ex .NET så blir det också lättare att gå vidare inom .NET.

Sen kan man såklart inte argumentera emot att det är bra att lära sig pupulära tekniker men många gånger så ville man ha färdigt sina saker i förgår och då tar det emot att läsa in sig på något som man vet kommer ta ett par veckor att lära sig och förstå.

Dock bara en gissning

CPU : Intel Core i7 2600K Moderkort : Asus P8Z68-V PRO GEN3 Grafikkort : MSI Geforce GTX 970 Gaming 4GB Minne : Corsair 8GB (2x4096MB) CL9 1600Mhz XMS3 1,5V Chassi : Fractal Design Define r3 Nätdel : Corsair 650W ModulärtOS disk : Intel 530 240 GB SSD Övriga diskar : 2x WD Red 2 TB, 2x WD Green, 1x WD 750 GB, 1x WD 500 GB Optisk enhet : Optiarc AD-7280S SATA

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Aug 2009
Skrivet av Jimmy:

Antar att det handlar om erfarenhet, det väl som att slänga in en PHP utvecklare i ett .NET projekt, det kommer bli omständigt, det kommer att strula och det kommer att ta tid. Är man vad vid ex .NET så blir det också lättare att gå vidare inom .NET.

Sen kan man såklart inte argumentera emot att det är bra att lära sig pupulära tekniker men många gånger så ville man ha färdigt sina saker i förgår och då tar det emot att läsa in sig på något som man vet kommer ta ett par veckor att lära sig och förstå.

Dock bara en gissning

Det hela är subjektivt. Jag föredrar C# framför skriptspråk alla dagar, men python och php går an att köra i men JavaScript vill jag bara spy över och man är ju tvingad att använda det om man jobbar med webben.

7900x @ 4,7ghz - 1080ti @ 2100

Trädvy Permalänk
Medlem
Plats
i din garderob
Registrerad
Sep 2007
Skrivet av celoz:

Det hela är subjektivt. Jag föredrar C# framför skriptspråk alla dagar, men python och php går an att köra i men JavaScript vill jag bara spy över och man är ju tvingad att använda det om man jobbar med webben.

För mig är PHP det absolut värsta som kan hända. JavaScript är helt ok.

Bilanaloger är som Volvo — varenda svenne kör med dem

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Nov 2015

Ingen borde välja PHP Node.js rekommenderar jag.

Trädvy Permalänk
Datavetare
Plats
Stockholm
Registrerad
Jun 2011

Då du har sneglat mot JavaScript/NodeJS men känner dig mer bekväm i C#/.NET, varför inte köra TypeScript/NodeJS?

TypeScript måste vara extremt familjärt för alla som jobbat med C#. Du du nämner Angular har du ännu en anledning då Angular 2 kommer vara skrivet i TypeScript till stora delar.

Vad man får med TypeScript är alla fördelar med JavaScript i form av att det går att köra i princip överallt. Man får också alla fördelar med NodeJS i form av en fungerade miljö för asynkron programmering (d.v.s. där både miljön och alla bibliotek är designade asynkront). Sist och absolut inte minst (gillar inte alls dynamiskt typade språk) ger TypeScript fördelarna med statisk typning i form av tillförlitligt "refactoring" stöd, möjlighet till tillförlitlig Intellisense, verifiering av uppenbara typfel (endera vid kompilering eller direkt när man skriver om man kör med t.ex. Visual Studio Code).

Vissa kan ha invändningar kring hur moget TypeScript är. Det är nytt, men idéerna det bygger på är i väldigt stor utsträckning de saker man redan sett fungerar väl i t.ex. C#/.NET. Sedan är alltid JavaScript en giltig grundmängd i TypeScript, JavaScript är idag väldigt beprövad teknik. Hela Visual Studio Code är skrivet i TypeScript, så till skillnad hur det brukar se ut med ny teknik som Microsoft jobbar på så är TS ett lysande exempel på när man "eat your own dog food".

Om du går med TypeScript, se till att läsa grunder kring tsd, ett verktyg för att hämta TS-definition för i princip alla välanvända JavaScript-bibliotek. Med dessa fungerar t.ex. Intellisense i Visual Studio Code även för saker skrivet i JavaScript.

Även om man skulle köra direkt i JavaScript: varför skulle man idag välja något annat än NodeJS i back-end i ett projekt som inte har massa legacy? Att ha samma språk i front-end som back-end (även om man kör TS så kompileras det till JS) ger flexibilitet i exakt var man drar gränsen. JS var tidigare ganska ineffektivt, idag är program i NodeJS långt snabbare än Python, i de flesta fall är det till och med snabbare än C#/.NET. Man är inte låst till någon specifik plattform, om man av någon anledning har problem med Google (NodeJS använder normalt deras V8 JS-motor) så kommer Microsoft open-sourca sin JS-motor Chakra och göra en variant av NodeJS som kör med den motorn.

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Trädvy Permalänk
Medlem
Plats
/home/4rkan/
Registrerad
Sep 2015

Varför inte Python med Django? Python är ett språk som verkligen växer framåt nu för webben.

Skrivet av Teknocide:

För mig är PHP det absolut värsta som kan hända. JavaScript är helt ok.

Haha, är intresserad av att höra varför Har inte pysslat med så mycket PHP så skulle vara intressant att höra kring det.

En gång är ingen gång, två gånger är ett script.

Trädvy Permalänk
Medlem
Plats
Linköping
Registrerad
Jul 2004
Skrivet av 4rkan:

Haha, är intresserad av att höra varför Har inte pysslat med så mycket PHP så skulle vara intressant att höra kring det.

Nu kan jag inte svara helt för @Teknocide men jag misstänker att en del av det har att göra med vad som beskrivs här: http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/

Där nämns flera anledningar till att jag själv gav upp att göra något i PHP längre. Visst går det att skriva "vettig" kod i PHP, men varför krångla när det finns bättre språk och verktyg för det. Nu varken jobbar jag med webbutveckling, eller skapar större projekt på fritiden, så CGI i passande språk brukar oftast räcka för mina ändamål.

Efter att ni har läst det här har ni insett att det inte gav något.

Trädvy Permalänk
Medlem
Plats
Kata
Registrerad
Okt 2002

Om du skall göra något som du själv hostar/roddar så är det väl bättre med något du kan eller tror har framtiden för sig. Skall du låta andra köra din applikation eller vill kunna flytta bland hostinglösningar på ett enkelt sätt så är väl php ändå rätt fint.

Trädvy Permalänk
Medlem
Registrerad
Dec 2015
Skrivet av Kuufukuji:

Nu kan jag inte svara helt för @Teknocide men jag misstänker att en del av det har att göra med vad som beskrivs här: http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/

Där nämns flera anledningar till att jag själv gav upp att göra något i PHP längre. Visst går det att skriva "vettig" kod i PHP, men varför krångla när det finns bättre språk och verktyg för det. Nu varken jobbar jag med webbutveckling, eller skapar större projekt på fritiden, så CGI i passande språk brukar oftast räcka för mina ändamål.

Intressant. En kommentar som summerar ganska bra:

Citat:

PHP can also be seen as the Justin Bieber of programming tools. Both prove conclusively that you don't have to be good to be popular.

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Nov 2007

Inget fan av angular 1.x. React är verkligen att rekommendera då det gäller view-lagret, lägg till flux som model förslagsvis. Angular 2.x börjar rullas strax och finns att testa idag. Har inte provat det själv för att kunna uttala mig. Personligen gillar jag att köra javascript på såväl server som klient, gillar att köra ett språk hela vägen.

Trädvy Permalänk
Medlem
Plats
i din garderob
Registrerad
Sep 2007
Skrivet av Yoshman:

Då du har sneglat mot JavaScript/NodeJS men känner dig mer bekväm i C#/.NET, varför inte köra TypeScript/NodeJS?

TypeScript måste vara extremt familjärt för alla som jobbat med C#. Du du nämner Angular har du ännu en anledning då Angular 2 kommer vara skrivet i TypeScript till stora delar.

Vad man får med TypeScript är alla fördelar med JavaScript i form av att det går att köra i princip överallt. Man får också alla fördelar med NodeJS i form av en fungerade miljö för asynkron programmering (d.v.s. där både miljön och alla bibliotek är designade asynkront). Sist och absolut inte minst (gillar inte alls dynamiskt typade språk) ger TypeScript fördelarna med statisk typning i form av tillförlitligt "refactoring" stöd, möjlighet till tillförlitlig Intellisense, verifiering av uppenbara typfel (endera vid kompilering eller direkt när man skriver om man kör med t.ex. Visual Studio Code).

Vissa kan ha invändningar kring hur moget TypeScript är. Det är nytt, men idéerna det bygger på är i väldigt stor utsträckning de saker man redan sett fungerar väl i t.ex. C#/.NET. Sedan är alltid JavaScript en giltig grundmängd i TypeScript, JavaScript är idag väldigt beprövad teknik. Hela Visual Studio Code är skrivet i TypeScript, så till skillnad hur det brukar se ut med ny teknik som Microsoft jobbar på så är TS ett lysande exempel på när man "eat your own dog food".

Om du går med TypeScript, se till att läsa grunder kring tsd, ett verktyg för att hämta TS-definition för i princip alla välanvända JavaScript-bibliotek. Med dessa fungerar t.ex. Intellisense i Visual Studio Code även för saker skrivet i JavaScript.

Även om man skulle köra direkt i JavaScript: varför skulle man idag välja något annat än NodeJS i back-end i ett projekt som inte har massa legacy? Att ha samma språk i front-end som back-end (även om man kör TS så kompileras det till JS) ger flexibilitet i exakt var man drar gränsen. JS var tidigare ganska ineffektivt, idag är program i NodeJS långt snabbare än Python, i de flesta fall är det till och med snabbare än C#/.NET. Man är inte låst till någon specifik plattform, om man av någon anledning har problem med Google (NodeJS använder normalt deras V8 JS-motor) så kommer Microsoft open-sourca sin JS-motor Chakra och göra en variant av NodeJS som kör med den motorn.

Skrivet av qbasic:

Inget fan av angular 1.x. React är verkligen att rekommendera då det gäller view-lagret, lägg till flux som model förslagsvis. Angular 2.x börjar rullas strax och finns att testa idag. Har inte provat det själv för att kunna uttala mig. Personligen gillar jag att köra javascript på såväl server som klient, gillar att köra ett språk hela vägen.

Scala är ett modernt programmeringsspråk som kompilerar till både JVM och JavaScript. Detta innebär att man rent praktiskt kan skapa typsäkra API:er för kommunikation mellan klient och server — klient-/serverkoden kompilerar inte om kontraktet mellan dem är ouppfyllt. Detta är enormt kraftfullt.

Bilanaloger är som Volvo — varenda svenne kör med dem

Trädvy Permalänk
Datavetare
Plats
Stockholm
Registrerad
Jun 2011
Skrivet av Teknocide:

Scala är ett modernt programmeringsspråk som kompilerar till både JVM och JavaScript. Detta innebär att man rent praktiskt kan skapa typsäkra API:er för kommunikation mellan klient och server — klient-/serverkoden kompilerar inte om kontraktet mellan dem är ouppfyllt. Detta är enormt kraftfullt.

Med typsäkra APIer i detta fall menas: statiskt typade APIer. Så vad du beskriver här går precis lika bra att göra i TypeScript.

Oavsett vad man anser om JS så är det ett faktum att JS är idag det enda språk som är universellt fungerande på webben. Försök som Dart (initialt språk med egen VM i Chrome, numera kompileras det till JS), GWT (Java bytekod -> JS, gissar att detta är vad Scala använder i botten), DuoCode (C#->JS) har alla ett problem som kommer hindra deras popularitet: de är inte JavaScript så det är inte helt naturligt att använda redan existerande bibliotek som är skrivet i JS.

TypeScript har JavaScript som en grundmängd, d.v.s. all giltig JS-kod är också giltig TS-kod. Vad TS lägger till är främst statiskt typning, något som möjliggör tillförlitlig Intellisense, tillförlit refactoring och kanske viktigast gör så man hittar uppenbara typfel tidigare i processen (vid kompilering i stället för vid körning). För någon som har erfarenhet av C#/.NET i Visual Studio, så är steget över till Visual Studio Code (som för övrigt är skrivet i TS) väldigt litet . Mycket av det TS lägger till till JS i form av syntaktiskt socker borde kännas väldigt familjärt för de som har tidigare erfarenhet av C#.

För någon som redan ha kläm på programmering och kan grunderna i JS rekommenderar jag denna webbplats som går igenom vad TS handlar om.

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer