Er F # a brugbart sprog til. Net windows udvikling

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har hørt om F #, og Microsoft har nu en fyr, der blogger og koder væk i redmond et eller andet sted om det. Kan du virkelig skrive GUI-kode fra F # (jeg 'd elsker at se et eksempel på at tilføje en knap til en formular og abonnere på onclick-arrangementet for eksempel)


Har F # fuld adgang til alle. Net?


Jeg er ærligt nysgerrig, og jeg ved, at jeg kunne google, men jeg elsker at høre fra nogen, der virkelig bruger sproget.

Bedste reference


Ja, du kan helt sikkert skrive WinForms apps - selvom du ikke ville tilsidesætte OnClick-metoden, ville du abonnere på Click-hændelsen.


Ja, F # har fuld adgang til .NET, selvom du ikke får meget idiomatisk funktionskode, hvis du bruger mange forskellige typer.


Tomáš Petříček s F # hjemmeside har eksempler kildekoden fra sin bog (ansvarsfraskrivelse: Jeg er også involveret i bogen, så jeg er tydelig forspændt), som har WinForms eksempler. [1]

Andre referencer 1


Jeg anbefaler stærkt denne fremragende post af Scott Hanselman, som peger på nogle F # ressourcer, herunder eksempler og præsentationer. [2] [3]

Andre referencer 2



  Men som Jon Skeet siger, har Tomas nogle interessante eksempler (især filtrering/rørhændelser), som viser, hvad jeg formoder, kan være et godt overgangspunkt, dvs. design din C # GUI med designer og skriv derefter hjernerne i F # hakende hinanden med arrangementer.



Det synes jeg er en meget god tilgang. Design af komplekse GUI'er uden WinForms designer er lidt irriterende (selvom forskellen er ikke så stor i WPF - F # understøtter ikke WPF designer, men du mister ikke så mange ting der).


Anyway, hold tunet for flere eksempler :-). Det er ganske rart at bruge declarative event handling (Event.filter, Event.map &Friends), men i nogle tilfælde er det ikke helt, hvad du vil. Jeg skriver bare et kapitel om det, og jeg tror, ​​F # giver dig nogle rigtig fantastiske måder at håndtere GUI'er på - kildekoden vil være frit tilgængelig på bogens websted, og jeg håber at skrive en kort introduktion til min blog, så snart bogen er færdig. [4]

Andre referencer 3


Jeg har ikke brugt F #, kun læser specifikationerne. Det kan godt være godt for WinForms udvikling, men min umiddelbare reaktion på dette er 'det gør det ikke rigtig noget'. Så længe du bruger CLR-kompatible kompilatorer, skal du kunne blande F # sammenstillinger med andre skrevet i C #/IronPython/etc.


Ja, F # kan bruge .NET Framework, og F # -samlinger kan bruges af andre .NET-forsamlinger.


Mit råd vil være at kode dine funktionelle biblioteker i F # og derefter bruge hvilket som helst .NET sprog, du har lyst til at skrive kundens app (er).

Andre referencer 4


Du kan skrive GUI-kode fra F #, men jeg er ikke sikker på, at du vil gerne. Hvis du er den slags, der skrev dine C # GUI'er i notesblok alligevel, ville det nok ikke forstyrre dig. Personligt foretrækker jeg designeren, og der er ikke en til F #, og så vidt jeg har forstået det, er der ikke 'T vil heller ikke være en - som sandsynligvis siger noget om den tilsigtede brug af F #.


Men som Jon Skeet siger, har Tomas nogle interessante eksempler (især filtrering/rørhændelser), som viser, hvad jeg formoder, kan være et godt overgangspunkt, dvs. design din C # GUI med designer og skriv derefter hjernerne i F # hakende hinanden med arrangementer.