En fundering, är MS Office 2007 utvecklat i Visual Studio och då med C# eller C++ ? Office är byggt i C++ och har en väldigt stark bas i COM så det är långt från plattformsoberoende :) Det finns en del managed kod, men det är en försumbar mängd. Det finns något som heter VSTO (Visual Studio Tools for Office) som används som en wrapper för att inne i .net skriva just managed kod mot Office-produkterna. Detta gör att du inte behöver tänka på att office just är skrivet i c++. Nu blir det flera följdfrågor och hoppas ni kan ge lite bra svar på dessa. "Microsoft förespråkar väll plattformsoberoende eller var det något som infördes i skräcken för att Java skulle ta över?" >Microsoft förespråkar väll plattformsoberoende eller var det något som infördes i skräcken för att Java skulle ta över? Microsofts plattformsobereonde består i att de är oberoende av vilken version av windows som körs, om det är X86 eller X64 osv. Det är nog så krångligt och fram till nu med windows vista / server 2008 så har det varit olika kärnor för operativen, vilket innebär olika plattformar. Även om de alla är Windows utåt sett. Om Microsoft skulle syftat på plattformsoberoendet mellan olika versioner av Windows så hade man det redan med gamla VB6 som går lika bra att köra på gamla Windows 95 som i Vista 64 bit. > så hade man det redan med gamla VB6 som går lika bra att köra på gamla Windows 95 som i Vista 64 bit. "Och om så är fallet borde väll Microsoft själva gått i täten och visat vägen med sina Officeprogram." Var är då vinsten (affärsnyttan) med att vi utvecklare använder .net? > Var är då vinsten (affärsnyttan) med att vi utvecklare använder .net? Ok då är .net inte plattformsoberoende utan endast oberoende av windowsversioner "Ok då är .net inte plattformsoberoende utan endast oberoende av windowsversioner"Office utvecklat i Visual Studio
Och är det då ett plattformsoberoende .net program?
mvh RolandSv: Office utvecklat i Visual Studio
Sv: Office utvecklat i Visual Studio
Officeklienten är inte plattformsoberoende utan det måste köras på Windows-plattformen.Sv:Office utvecklat i Visual Studio
Microsoft förespråkar väll plattformsoberoende eller var det något som infördes i skräcken för att Java skulle ta över?
Om man förespråkar plattforsmoberoende och inte ens har sitt flaggskepp Office med Word, Excel, Outlook osv utvecklat så att de är platformsoberoedende, hur trovärdig är man då att just deras utvecklingsstrategi är rätt?
Finns det någon här på forumet som utnyttjat möjligheten till att kunna placera sitt sytem i flera olika miljöer? t.ex. Windows, Unix, Linux, Mac osv.
Eller är det så att någon promille av alla system som utvecklas är för olika miljöer?
mvh RolandSv: Office utvecklat i Visual Studio
Var har du hört det någonstans? Jag har aldrig uppfattat MS som någon förspråkare för plattformsoberoende. Däremot så har de börjat att öppna upp sig mer och mer och insett att världen inte bara består av Windows längre...
"Om man förespråkar plattforsmoberoende och inte ens har sitt flaggskepp Office med Word, Excel, Outlook osv utvecklat så att de är platformsoberoedende, hur trovärdig är man då att just deras utvecklingsstrategi är rätt?"
Nja, det ligger många år bakom utvecklandet av dessa flaggskepp, och inget som man bara skriver om till en .NET miljö. Så även om man ändrat inriktning och skulle förespråka plattformsoberoende så har de ju massor med gammla program som inte är plattformsoberoende eftersom de använder massor med WinAPI (det har ju inget med C++ att göra, för det går ju att köra på Linux) och de kan man inte bara byta ut över en natt...
"Eller är det så att någon promille av alla system som utvecklas är för olika miljöer?"
Jag tror ju det är en större del än någon promille, men de flesta system byggs nog för ett OS i början och sedan om kraven och möjligheterna finns så kan det portas till andra OS. Även om jag bygger ett system i .NET så är det ju inte säkert att det kan köras på något annat OS, eftersom .NET FrameWork kanske inte finns implementerat till det OS. Mono som ligger på linux ligger ju hela tiden några steg efter .NET på windows plattformen så om jag skall bygga ett system som fungerar för både Windows och Linux i .NET så kan jag inte använda de senaste implementationerna i .NET och det vill jag ju göra, det finns ju en anledning till att de implementerades...
- MSv: Office utvecklat i Visual Studio
Plattformsobjerende behöver inte innebära att man kan köra exakt samma applikation på flera platformar. Framförallt när det gäller GUI så behövs det anpassning till respektive miljö.
>Om man förespråkar plattforsmoberoende och inte ens har sitt flaggskepp Office med Word, Excel, Outlook osv utvecklat
>så att de är platformsoberoeden.
Du pratar om stora applikationer där det antagligen finns kod kvar som utvecklas på 80-talet. Office finns ju dock både till Mac och PC så stora delar av koden är plattformsoberoende.
>Eller är det så att någon promille av alla system som utvecklas är för olika miljöer?
Vet inget om andelen men de flesta applikationer man använder dagligen fungerar på flera plattformar (Firefox, flash, akrobat etc)Sv:Office utvecklat i Visual Studio
När det gäller stora affärssystem så är det inte så många som fungerar i olika miljöer. För att få den prestanda och skalbarhet som krävs så brukar man knyta den till någon form av applikationsplattform och de brukar oftast vara hårt knutna till något operativsystem för att uppnå vad de behöver.
Sen måste man skilja på sådant som är rena algoritmer, de kommer ju vara plattformsoberoende oavsett vad du gör, men när du tex vill rita ut något på skärmen eller skicka något på nätverket så blir du beroende av att någon bygger en provider för ditt operativsystem. Om de skall vara plattformsoberoende så kommer du få problem.Sv: Office utvecklat i Visual Studio
Givetvis förstår jag olika processorers uppbyggnad med olika instruktionsuppsättningar, en eller flera kärnor mm men syftet med .net måste väll varit att systemutvecklare skulla ta fram sina system i en miljö så de enkelt skulle gå att köra på andra datormiljöer utan föränding av koden, eller?
Och om så är fallet borde väll Microsoft själva gått i täten och visat vägen med sina Officeprogram.
mvh RolandSv:Office utvecklat i Visual Studio
Fast man var ganska begränsad när det gällde vad man kunde göra, om man nu inte började tråckla med winapi. Och vips så var man i träsket med kompabilitetsproblem =)Sv:Office utvecklat i Visual Studio
Nu skulle det vara ett jättearbete att skriva om officeprogrammen bara för sakens skull. Men även om MS skrev om hela office-sviten i .NET så betyder det ju inte att du kan köra det på vilken plattform som helst.
Plattformen måste ju ha stöd för .NET Framework och vad jag vet så är det bara windows och linux (i vis mån) som har stöd för .NET och skulle MS välja att skriva om office paketet i .NET 4.0 som släpps nästa år, så skulle det ändå bara fungerar på en windows plattform, var i ligger så fall vinsten för MS att skriva om Officepaketet i .NET.
- MSv: Office utvecklat i Visual Studio
Är det bara windowskompabilitet det blev kvar av alla löften?
/RolandSv:Office utvecklat i Visual Studio
Mycket, det är ju inte direkt så att .net står och faller med möjligheten till plattformsoberoendeSv: Office utvecklat i Visual Studio
Utvecklade tidigare med VS 2003 och Framwork 1.1
Detta är inte kompatibelt med Vista och konvertering av kod krävs för att köra VS 2005 med Framework 2.0 (en del pyssel)
Sedan övergång till VS 2008 med Framework 3.5 och ny konvertering (relativt enkel)
Snart kommer Framework 4.0 och den vet jag inget om hur kompabiliteten är där.
Med komplement som AJAX och Silverlight kan man undra hur det ser ut med kommande versioner och hur mycket kompabilitet det blir kvar.
Läs gärna detta http://www.henricrosvall.se/blog.php?itemID=247 från en annan helt vanlig utvecklare.
Bläddra ner en sida och läs.
Han är nog precis som jag dum i huvudet och fattar inget men visst känner man sig blåst undefär som historen om gubben som gick till skräddare och det slutade med en tummetott.
Det är inte kompatibelt som det lovats, det är en stor blåsning.
mvh RolandSv:Office utvecklat i Visual Studio
Det är precis lika plattformsoberoende som JAVA är, problemet är bara JAVA-motor finns till många olika plattformar, och .NET motor finns bara för windows (och upp till .net 2.0 för linux).
Mellan 1.1 och 2.0 så gjorde MS en del breaking changes, för att kunna utveckla .net i den riktning de ville, inte speciellt smart och otroligt korkat, men nödvändigt (man kan ju tycka att de borde tänk på det tidigare). 3.0 / 3.5 / 4.0 bygger alla vidare på 2.0 så än så länge kan du kompilera vilket av versionerna i VS 2005/2008/2010 (när den kommer).
Det kommer garanterat att brytas någongång i framtiden så til Windows 2015 så kan man inte köra .NET FrameWork med lägre version än 6.0... Men så är det alltid och 2015 så är det ändå ingen som sitter och utvecklar i .NET 3.0. Och uppgradering av sina legacy program är något som man alltid har gjort, och kommer fortsätta att göra i framtiden också...
.NET är knappast MS sista Framework och den ultimate "utvecklingsmiljön" i framtiden, det kommer komma något nytt.
- M