Martin Bekkelund

En blogg om IT

Microsoft Expression Web

torsdag 14. desember 2006 • 13 kommentarer

Microsoft Expression Web

Microsoft Expression Web er lansert. Jeg har tatt meg bryet med å teste om FrontPages etterfølger er verdt pengene.

I løpet av de siste par årene har det grodd frem webapplikasjoner basert på nye begreper som blant annet Web 2.0 og AJAX . I seg selv representerer ikke webapplikasjonene nye tekniske løsninger, men bygger på allerede eksisterende webstandarder som HTML, XHTML, XML, XSLT og CSS, i tillegg til blant annet JavaScript som klientside-språk. I tillegg har standarder som RSS / Atom blitt tatt i bruk av folk flest. Kundene har i tillegg blitt mer bevisste på bruk av webstandarder, blant annet som følger av WCAG fra W3C og US Section 508, som er offentlige krav til tilgjengelighet og bruk av webstandarder. I Norge arbeides det med tilsvarende krav.

I utviklingen av nye webløsninger kreves kodeverktøy som støtter ovennevnte standarder, i tillegg til designeres behov for et grafisk verktøy for websider. I mange år har Adobe Dreamweaver vært tilnærmet enerådende på området, da Microsoft FrontPage ikke ble videreutviklet for å følge de nyeste standardene. Nå har Microsoft imidlertid gjort en solid innsats for å ta igjen forspranget, med Microsoft Expression Web . Det er vesentlig å poengtere at Expression Web ikke er en ansiktsløfting av FrontPage, men et nytt produkt bygget fra grunnen av. Det er således ikke støtte for utgåtte standarder som for eksempel HTML 2.0 eller 3.2.

Det viktigste for en WYSIWYG-editor er et grafisk grensesnitt som designere og utviklere kan benytte, som samtidig genererer standardkompatibel kode som CSS og XHTML. Ballansegangen mellom grafisk frihet og standardkompabilitet er imidlertid vanskelig. På den ene siden skal man ivareta design utarbeidet av en grafiker eller interaksjonsdesigner, mens man på den andre siden skal produsere standardkompatibel kode. Dette krever god forståelse av webstandardene både for den som utvikler, i tillegg til den som utarbeider designet. Microsoft har med Expression Web laget et verktøy som langt på vei tilfredsstiller disse kravene.

Adobes Dreamweaver er i dag produktet som benyttes profesjonelt av de fleste webutviklere, både de som designer med WYSIWYG-editoren, i tillegg til de som foretrekker kode-editoren. Adobe står bak produkter som Photoshop, Illustrator, InDesign og ImageReady – produkter i samme familie som Dreamweaver. Tilvendingstiden for å gå over til Expression Web vil derfor være noe lengre for designere og utviklere som kjenner Adobeproduktene. Imidlertid bør Expression Web være gjenkjennelig for de som har arbeidet med Office-produktene fra Microsoft.

Microsoft Expression Web er tett integrert med blant annet Visual Studio 2005. Design og layout håndteres i Expression Web, mens utvikling av serverside-funksjonalitet gjøres i Visual Studio. Expression Web skiller seg derimot fra Microsoft SharePoint Designer. Microsoft har illustrert skillet på følgende måte:

Illustrasjon: SharePoint Designer vs. Expression Web

Pris og konkurrenter

Microsoft Expression Web vil som nevnt først og fremst konkurrere med Adobe Dreamweaver. Microsoft priser imidlertid produktet lavere, sannsynligvis som et salgsfremmende tiltak.

Adobe Dreamweaver: 4737,- kroner.

Microsoft Expression Web: 1950,- kroner.

Funksjonalitet

Microsoft Expression Web har en svært god kode-editor som kan parametersettes i henhold til utviklerens eget ønske. Standardoppsettet for CSS foreslår eksempelvis selektorer og tilhørende egenskaper som følger:

body {
   margin:0
}

Normalen er imidlertid:

body {
   margin: 0;
}

I standardoppsettet må utvikleren selv sørge for mellomrom mellom egenskapen og tilhørende verdi, samt avslutte egenskapen med semikolon. Dette kan og bør imidlertid parametersettes til å støtte sistnevnte eksempel som standard.

Microsoft Expression Web har innebygget funksjonalitet for live-validering av kode, både XHTML og CSS. Denne er uvurderlig for de som foretrekker å arbeide i koden.

WYSIWYG-editoren viser ikke designet i tilknyttede stilsett (CSS-filer) når disse er koblet til websiden med <link>-elementet. Dette er for så vidt greit nok, ettersom anbefalt praksis er

<style type="text/css">
   @import url("stilsett.css");
</style>

WYSIWYG-editoren er ikke helt standardkonform hva gjelder presentasjon av CSS fra eksterne stilsett.

Microsoft Expression Web har funksjonalitet for kodekomplettering med funksjonen “IntelliSense”, som kan parametersettes for hvilke standarder som skal benyttes. IntelliSense fungerer både for (X)HTML og CSS.

Skjemahåndteringen (forms) hadde noen feil i WYSIWYG-editoren, men fungerte bra i kode-editoren. Skjemahåndteringen mangler “fieldset” i grensesnittet, men IntelliSense støtter det.

Microsoft Expression Web lager fortsatt .htm som standard filformat. Flashback fra 1995, anyone?

Forhåndsvisning kan trigges fra en meny, med en egendefinert liste over forskjellige nettlesere og forskjellige oppløsninger, hvor man kan velge forhåndsvisning i en eller flere nettlesere på en gang. De som ønsker ytterligere test- og feilsøkingsverktøy bør bruke tilleggene “Web Developer” og “Firebug” for Firefox.

“Accessibility checker” er et verktøy for kontroll av dokumenter mot WCAG 1 og 2, samt US Section 508. Glimrende verktøy for de som arbeider med webløsninger for offentlig sektor, hvor det eksisterer krav om tilgjengelighet.

“Compatibility checker” er et verktøy for kontroll av dokumenter mot forskjellige nettlesere og webstandarder. Praktisk når man skal forholde seg til særegenheter i eldre nettlesere, eksempelvis IE6.

CSS Report” er et verktøy for kontroll av tilhørende stilsett mot aktuelt (X)HTML-dokument, med kontroll av blant annet:

  • Ubrukte stilsett
  • Udefinerte klasser
  • Feilstaving av elementer

Microsoft Expression Web har en egen funksjon for å strippe vekk “Word HTML”. Alle som har tatt i kode produsert av Word vet at dette er et mareritt å rote rundt i, og Microsoft har endelig tatt konsekvensen av dette. Funksjonen minner litt om W3Cs HTML Tidy.

Som nevnt kan utviklerne selv parametersette kode-editoren, både for (X)HTML og CSS, med tanke på fargesetting av kode, funksjonalitet i IntelliSense, live-validering og kodeformatering.

Microsoft Expression Web støtter kun ASP.NET 2.0, i motsetning til Dreamweaver som i tillegg til ASP.NET 2.0 også støtter PHP, ColdFusion, JSP og vanlig ASP.

Valg av avsluttende element, eksempelvis </div>, i kode-editoren viser hvilken klasse eller identifikator det tilhører, en uvurderlig funksjon ved arbeid med mange (nøstede) <div>-elementer, eller liknende.

Grensesnitt

Grensesnittet fremstår som litt rotete hvis man sammenligner med Dreamweaver. Ideelt sett burde grensesnittet vært delt i to, med en utvidbar / sammenbrettbar verktøylinje til venstre, og design- / kodevindu til høyre. Dette kan man imidlertid flytte rundt på etter eget forgodtbefinnende.

Med mindre man koder for hånd, er det ikke mulig å produsere ikke-standardisert kode. Dette er meget bra. Generert kode er ikke alltid like optimal, med tanke på indeksering i søkemotorer.

I grensesnittet har man tilgang til følgende elementer:

  • Folder list: Oversikt over mapper og filer på lokal disk eller i en site.
  • Tag properties: Attributter tilhørende det inneværende (X)HTML-element.
  • Toolbox: Tilgang til vanlige (X)HTML-elementer.
  • Apply Styles: Håndtering og forhåndsvisning av CSS.

Resultat i forskjellige nettlesere

Som i de fleste andre verktøy, er det opp til utvikleren å kjenne til forskjellige triks og hack for forskjellige nettlesere. Det skal allikevel ikke mye kunnskap og innsats til for å skape et tilfredsstillende likt resultat.

Webstandarder

Til tross for Microsofts middelmådige forhold til webstandarder, både gjennom deres bidrag i W3C, samt nettleseren Internet Explorer (alle versjoner, også versjon 7 ), er Microsoft Expression Web et svært hederlig unntak. Proprietær Microsoft-kode ble ikke produsert under tester, og det ble kun produsert validerende XHTML og CSS i alle tilfeller av testene. Det er gledelig å se at Microsoft har lansert et verktøy som imøtekommer dagens krav som stilles av webutviklere, kunder og offentlig sektor.

Standardmalen i Microsoft Expression Web validerer og er bygget på XHTML 1.0 Transitional, hvilket er et svært anvendelig og godt utgangspunkt. Man kan om ønskelige parametersette andre standarder, såkalte DOCTYPEs.

Arbeid med sider i WYSIWYG-editoren genererer validerende, men noe unødvendig kode, eksempelvis en del <span>-elementer og (naturlig nok) intetsigende klasse- og identifikatornavn.

Microsoft Expression Web er absolutt ingen substitutt for inngående kunnskap om webstandarder, selv om kode som genereres fungerer i “alle” nettlesere dersom den skrives i henhold til standardene. Det er imidlertid et svært godt verktøy både for de som kjenner webstandarder og ønsker å produsere webapplikasjoner i henhold til standardene, i tillegg til de som ikke har like god kjennskap til standarder.

Følg @MartinBekkelund på Twitter!

13 kommentarer

  1. Overraskende positivt må jeg si, men ultra-kjipt at standardmalen er XHTML 1.0 Transitional og ikke Strict. Gjerne HTML 4.01 Strict, for min del. Videreføring av Transitional vil bare bety fortsatt bruk av utdødde HTML-teknikker, noe man i 2006 ikke akkurat har behov for å (vrang-)lære folk å bruke. Men men, dette er et betydelig stort skritt opp fra FrontPage og jeg er glad for at Microsoft endelig har tatt det. Velkommen etter. :)

  2. Jeg skal ærlig innrømme at jeg gikk inn i denne testen med samme holdning som fyren i Postens TV-reklamer. “Njaa, skeptisk!” Jeg ble imidlertid positivt overrasket, både over hva som var satt opp som standard, og hva man kunne parametersette applikasjonen til. Transitional ikke heller er mitt foretrukne valg, men det er ikke annerledes i Adobeproduktene heller.

  3. Den foreslåtte kodemalen er Internet Explorer 6 sin kodetolkning. Sikkert for å sikre kompabilitet med den leseren og ikke andre. Altså et bevist valg.

    Jeg tror margin:0; er vel egentlig standarden. Altså uten mellomrom, men med semikolon. Å introdusere mellomrom mellom kolon og verdi skaper problemer på Internet Explorer 6 og eldre, samt Safari før versjon 2.

  4. CSS 2.1 sier at margin: 0; er standarden. Du finner eksempler hos W3C. Jeg har aldri vært borti problemer med stilsett med mellomrommet, men det betyr selvfølgelig ikke at jeg har rett. Eksempler mottas gjerne. :-)

  5. Jeg klarer ikke finne igjen nettadressen til det, men en av Microsoft sine MSDN blogger forklarte at alle nettlesere kan lese foo:bar;, men flere hadde problemer med foo: bar;.

    Et annet poeng jeg har lest et annet sted og diskutert vettet av meg rundt i diverse utvikler forumer er at foo: #.#bar; kan skape problemer selv i Firefox og Opera. Derimot er foo:#.#bar; den sikreste måten å få kompatibilitet på.

  6. Excuse me for being blunt, men inntil jeg ser en faktisk test-case som beviser dine påstander, Aleksandersen, tror jeg rett og slett ikke noe på det. Min erfaring etter å ha kodet CSS i snart 10 år er at whitespace-håndteringen i alle nettlesere det er verdt å ta hensyn til har vært problemfri og at man kan ha så mye eller så lite whitespace man vil i koden sin uten at dette skaper problemer i noen nettlesere.

  7. Lurte på om noen her vet om Microsoft Expression kommer på norsk?

  8. Det er en del bugs i programmet. Etter å ha jobbet i mange timer med en dynamisk ASP.net webside, klarte jeg plutselig ikke å lagre. Da krasjet programmet. Så fant jeg ut at Expression Web Service Pack 1 lå ute på nett. Den oppdateringen anbefaler jeg.

    Ellers vil jeg si at programmet er genialt. Split-view (du ser både forhåndsvisning og kode) er kjekt, og jeg bruker det hele tiden. Det er kjempelett å lage statiske nettsider, og da er design-view veldig kjekk å ha. Men når jeg jobber med dynamiske kontroller i ASP.net-sider er design-view’en ubrukelig, for da er det nesten umulig å gjøre noe som helst der. Du må altså bruke code-view og kunne mye koding for å kunne lage dynamiske websider. Heldigvis har Microsoft gjort det enkelt å kode ved å legge inn IntelliSense i programmet. Når du begynner å skrive en kode, foreslår IntelliSense hvilken kode du skriver, og du kan velge den riktige koden i lista ved hjelp av piltaster og enter.

  9. Hei
    Hvor fant du det til den prisen?
    Microsoft Expression Web: 1950,- kroner.

  10. Det er halvannet år siden jeg skrev denne artikkelen, så det husker jeg dessverre ikke, Vidar. Dessuten er det jo en viss sannsynlighet for at prisene har endret seg siden den gang. :-)

  11. Mamut har Expression Web Upgrade fra FrontPage til 1036,- og Expression Web til 3011,-. Se: http://www.mamut.com/no/shop/productgroup.asp?gid=322

  12. Når jeg importerer et web-område som er laget i FrontPage inn i Expression Web2 (trial), kommer store deler av teksten inn uten de tre nordiske karakterene æøå, samt noen andre jeg har testet f.ex. blir Citroën til Citron. Jeg har satt “keyboard to match laguage..” uten at det hjalp. Har noen der ute en smart løsning??

  13. Jeg har aldri brukt Microsoft Expression Web i det daglige, kun testet produktet i forbindelse med en intern evaluering vi hadde hos en tidligere arbeidsgiver.

    Siden den gangen har jeg beveget meg vekk fra Microsoft-plattformen, og benytter andre og mer egnede produkter for mine behov. Beklager derfor at jeg ikke kan hjelpe, Håkon. Derimot har jeg noen Microsoft-slaver som faste lesere, kanskje de kan hjelpe? :-)

Har du synspunkter? Legg igjen en kommentar!

Ingen anonyme kommentarer! Ved å trykke Send kommentar samtykker du i at du er kjent med personvernpolitikken og vil overholde retningslinjene for bekkelund.net.

Abonner uten å kommentere

RSS og trackback

Med RSS kan du abonnere på nye kommentarer som postes til denne artikkelen.

Du kan legge igjen et trackback fra ditt eget nettsted ved å benytte trackback-adressen til denne artikkelen. Eventuelle tracback ser du under.

Flere artikler

Enda flere artikler? Besøk arkivet.

Bekkelund.net er en blogg av Martin Bekkelund, hvor han lufter sine tanker om IT og IT-politikk. Martin arbeider til daglig som seniorrådgiver, foredragsholder og skribent i IT-bransjen, hvor han veileder bedrifter og organisasjoner i strategisk bruk av IT. Les mer...

Facebook Twitter LinkedIn Flickr Vimeo Google Reader Martin Bekkelunds blogg Martin Bekkelunds RSS-kanal

© 1995-2012 Martin Bekkelund
OpphavsrettRSSKontakt