Schlagwort-Archive: development

teched2008: session notizen asp.net ajax

meine notes zur session asp.net ajax toolkit. sehr guter vortrag über die möglichkeiten ajax elemente einzusetzen in asp.net seiten, und wie diese den traffic zwischen server und client verringern.

stephenwalther.com – blog vom speaker

codeplex.com project – asp.net ajax control toolkit

vorgestellt werden 3 verschiedene asp.net web app types anhand einer demo:

  1. server side asp.net
  2. asp.net ajax server side
  3. client side asp.net ajax

performance tools für testing: mit fiddler2.com (best tool für ajax testing – traffic analyse), firebug für firefox (extension).

erstens: server side asp.net

CIMG2854

  • vorteile: keine browser kompatibilitäts issues
  • jede programmiersprache unterstützt (egal ob c#, vb.net, c++,…)
  • simpel gesagt ein sehr einfacher weg stabile web apps zu schreiben (old school)

drawbacks:

  • response time bei web apps mühsam für den user (apps tauschen eine menge von daten aus)
  • performance: page inhalt wird für jede site gerendert

oft 2 developer: ein asp.net developer und ein java script developer > frag beide developer wenn ein click event happens.. server and client side vermischung.

[demo]

fiddler zeigt den traffic der bei postbacks entsteht – gut um zu zeigen was auch bei simplen änderungen an traffic ensteht – beispielsweise wenn in einer kleinen tabelle nur nach einer neuen spalte sortiert wird.

in der demo app erzeugt der reload nach einem einfachen category change im datagrid um die 3500 byte an traffic.

zweitens: server side asp.net ajax

CIMG2857

vorteile:

  • es ist ein schritt nach vorn, es passieren keine postbacks mehr – sozusagen nur noch “sneaky” postbacks. kein kompletter postback mehr, nur noch der erforderliche teil. es ist nach wie vor ein “save approach” – weil auf dem client nur ein minimaler teil der seite reloaded wird.
  • wieder jede sprache verwendbar
  • retrofit: existierende asp.net applikationen können leicht angepasst werden bzw. sind kompatibel

nachteile:

  • user muss nach wie vor auf reload des teilbereichs warten
  • ist nur ein erster schritt die seite responsiver zu gestalten

bei reinem serverside wurden 3500 byte hin und hergeschickt, beim teilweisen ajax einsatz nur noch 2500 byte. (ein table auf der page). nach einer kleinen optimierung des updatebereichs schrumpft der traffic um weitere (kontrolle immer mit fiddler) 500 byte auf knapp 2000. wo geht der traffic hin? ist ja nur eine kurze table… CIMG2858 zurückgesendet wird vom client der viewstate – lots of data. viewstate kann für solche dinge abgedreht werden in den control properties (enable viewstate=false). nach der de-aktivierung werden nur noch 1500 bytes ausgetauscht. im vergleich zum start mit reinem server side asp.net wurden noch mehr als doppelt soviel byte getauscht.

drittens: client side asp.net ajax (microsoft ajax library)

CIMG2859

vorteile:

  • event werden nur ausgelöst wenn sie passieren
  • performance: nur noch nötiger traffic entsteht

nachteile

  • browser kompatibilität: nicht risk-free
  • language: nicht alles möglich – viel java script frickelei
  • mixing again content and behaviour (formatierung und code)

die page wird einmal gerendert, danach sind eine menge ajax calls (kein reload, außer bei kompletten page wechsel)

[demo wird aktualisiert]

stop using windows onload  (eine person im auditorium gibt zu das noch zu verwenden, die andern trauen sich nicht aufzeigen) – use page load instead. die windows onload executed erst wenn alle images geladen sind und verzögert damit enorm.

why use java script on client side? look at the performance difference with fiddler: jetzt herunten auf 650 byte, mit verwendung des ajax toolkits.

[demo wird aktualisiert - master/detail page (ein klassiker) mithilfe von client side ajax.

neue features in asp.net ajax 4.0:

  • client side controls: ein sauberer weg um java script code in asp.net seiten zu verwenden
  • in html kann mithilfe von {{ }} java script functions aufgerufen werden, anstatt die funktionen im template abzubilden
  • das toolkit wurde mit allen browsern ab jahr 2000 getestet.

rude objections on ajax apps:

  • browser back/forward button - users are still used to it... :/ ... microsoft solution: back button support in ajax tools from microsoft >> back button is covered in ajax apps
  • accessibility: one approach: new standard will support ajax. second approach:
  • SEO: how are ajax pages indexed?
  • what if java script is disabled, or people use mobile phone without java script support

zu den letzten drei punkten von oben: wenn du ajax apps verwendest immer failover support programmieren.

mit dem ajax toolkit von microsoft lässt sich der failover support leicht einbauen - über zusätzliche abfrage über den javascript status des browsers wird gegebenenfalls ein postback ausgelöst - die funktion für das failover muss nicht extra geschrieben werden (mutmaßung meinerseits).

[demo wird aktualisiert]

asp.net ajax and asp.net mvc – da bin ich leider ausgestiegen

conclusion – embrace the client side >> for better performance and better user experience write client-side asp.net ajax apps.

wer sich für das thema interessiert, kann sich auch ein session recording von der PDC ansehen: “ASP.NET Ajax Futures

programmieren lernen?

der sommer ist die zeit im jahr wo ich manchmal freizeitlöcher zu füllen habe. in meinem fall ist es üblich geworden zu dieser zeit ein wenig in die weite welt der bits und bytes einzutauchen und wieder mal zu programmieren. mich interessiert immer der bereich web development und was sich im bereich asp.net getan hat.

microsoft ermöglicht mit den visual studio express editionen den einstieg in die programmierwelt ohne kostenaufwand. unterstützt werden verschiedene geschmäcker: eine visual basic, visual c#, visual c++ und eine web developer version stehen zur verfügung. ohne datenbank läuft fasst nichts, deswegen ist mit der sql server 2005 express edition auch eine kostenlose version vom sql server verfügbar.

auf microsoft.com/express kannst du dich umfassend über das angebot informieren. die software + samples herunterladen als auch tutorials und product tours ansehen (alles englisch + silverlight plugin nötig). weitere infos:

happy coding :)

de-at_vs08express_L

mix sessions on demand verfügbar

mix sessions

seit 2 wochen sind die präsentation der mix ’08 on demand verfügbar. satte 88 präsentation in silverlight streaming sind verfügbar.

mix ist eine internationale konferenz von microsoft in las vegas für web developer, web designer und kreative, heuer fand sie zum 3. mal statt.

zur mix session site | fotos von mix08 auf flickr

XNA Team Blog : XNA Game Studio 2.0 Released

xna game studio 2.0 ist raus, und damit kann die vorbereitung aller hobby-devs für die erste warm up challenge dream-build-play beginnen.

Since we first released XNA Game Studio Express a little over a year ago, we’ve made a lot of improvements, including many features you asked for. Two of the most important new features are support for multiplayer networking over Xbox 360 and Games for Windows using LIVE and support for all versions of Visual Studio 2005.

XNA Team Blog : XNA Game Studio 2.0 Released

wenn mehr zeit wäre würde ich mich ja wieder mal versuchen, im programmieren. vielleicht einen kleinen tetris klon, oder ähnliches. aber leider. in c# hab ich nie programmiert und da jetzt neu einzusteigen würde großen stundenaufwand bedeuten.

so bleibe ich auf gamer seite als XNA beobachter und bin gespannt was über xbox live arcade kommen wird.

XNA game studio event und beta 2

kurzes update zur xna tour:

wir sind überbucht und haben über 160 personen angemeldet, wegen platzproblemen einige leider nur auf warteliste. mehr haben in unsere größten raum intern leider nicht platz.

ich stecke heute mit max und andi noch mitten in den vorbereitungen, sind aber guter dinge das alles klar geht :)

morgen vormittag haben wir noch interviewtermine für dave mitchel und charles cox organisiert, also volles programm auch für die speaker.

passend dazu im webstandard die meldung zur beta 2 vom XNA game studio 2.0, welches jetzt auf download wartet!

day 2 session 3: XNA game development

max knor und andi schabus stellen das XNA game studio express vor. ein frei verfügbares software dev kit, welches es einfach ermöglicht windows und xbox 360 games zu entwickeln, ohne sich vorab hundert stunden mit direct x oder hardcore c++ zu beschäftigen.

das XNA projekt wurde ins leben gerufen um dem vorherrschenden urteil – game development ist hochkomplex und um erste ergebnisse zu erzielen muss ich informatik studiert haben – entgegen zu wirken.

XNA game studio express videos, MSDN developer center & download. zu XNA fand im april auch ein contest statt.

am rande: frage von gehorg holzer  – was heißt XNA? dazu andi > XNA heißt XNA >> es gibt keine erklärung für das kürzel :)