Thank you Microsoft
-
Mike Marynowski wrote:
It *was* slow, but it has been improved significantly in each release of Visual Studio. XAML is also expressive enough that I rarely use the editor directly anyway - I usually have it in split screen view and I type the XAML manually. Faster, more accurate, less code bloat. I'm a huge advocate of beautiful hand-written XAML.
I always disabled the visual editor and the XAML code editor was still slow as dirt. I think you'll find most professionals do that, so it's just assumed.
Mike Marynowski wrote:
Even when the editor was slower, I still never found it to be so bad that it become unusable.
I have, on a large medical project. This was back in VS 2012 mind you, but still.
Mike Marynowski wrote:
The kinds of UIs that you can easily build with XAML is nothing short of amazing.
Well, I totally agree, but have you used any other UI technologies besides XAML? MS isn't exactly known for originality. There are a ton of things you can do in other platforms. It's simply bringing a web-style layout engine to the desktop is all.
Jeremy Falcon
If I remember correctly I think VS2013 really brought some really nice speed improvements. I have yet to experience a bad slowdown in XAML editing in VS2015. I do remember VS2012 getting a bit sluggish at times but then again I probably wouldn't have used XAML for a large medical application in 2012. Back then the only thing I used it for was full custom interfaces like touch screen kiosk apps and things of that sort. I would probably have just stuck to WinForms for a medical app. Today that's definitely not the case though. XAML and the tooling has gotten so good and MVVM is amazing and indispensable at this point. We actually don't do MVVM here, we have a whole framework we use internally to do what we call MVS, or Model View State, which is kind of a cross between MVC and MVVM. We're considering open sourcing and documenting it with tutorials and such but we are working on getting another surprise ready to release first ;) But between XAML+MVS and the other project we will release first, we pump out apps 5 times faster than with anything else at the moment. I <3 XAML.
-
Yes, I have. HTML5 development has gotten to a reasonably enjoyable state with a good framework, and my experience using it to build hybrid apps has been quite lovely. Bootstrap is what we generally use right now. Lots of experience with Winforms and Qt which are fine for "standard" desktop application layouts. Interface Builder with its constraint based system is terrible. Built lots of custom game interface engines back in the day. What other technologies are you suggesting? I don't know of anything that comes even close to the expressibility, cleanliness and flexibility of XAML for modern UI development. HTML5 is kinda coming close in terms of how easy it is to customize but it is nowhere near as powerful or expressive as XAML for complex layouts.
Mike Marynowski wrote:
What other technologies are you suggesting?
Well in particular, CSS Level 3 and some pre-processors like SASS/LESS. You can't do good layouts in just HTML. I mean you can, but it's a joke and ugly and static. I'm a bit of a hardcore web developer, and I'd wager, like XAML, most people that knock CSS really don't know much about it. I remember back in my time spent with XAML, it reminded me of CSS layouts over and over again.
Jeremy Falcon
-
If I remember correctly I think VS2013 really brought some really nice speed improvements. I have yet to experience a bad slowdown in XAML editing in VS2015. I do remember VS2012 getting a bit sluggish at times but then again I probably wouldn't have used XAML for a large medical application in 2012. Back then the only thing I used it for was full custom interfaces like touch screen kiosk apps and things of that sort. I would probably have just stuck to WinForms for a medical app. Today that's definitely not the case though. XAML and the tooling has gotten so good and MVVM is amazing and indispensable at this point. We actually don't do MVVM here, we have a whole framework we use internally to do what we call MVS, or Model View State, which is kind of a cross between MVC and MVVM. We're considering open sourcing and documenting it with tutorials and such but we are working on getting another surprise ready to release first ;) But between XAML+MVS and the other project we will release first, we pump out apps 5 times faster than with anything else at the moment. I <3 XAML.
Gotcha. Whatever the case, I have no need for it anymore since Silverlight is dead and I do web dev, but that's good to know.
Jeremy Falcon
-
Mike Marynowski wrote:
What other technologies are you suggesting?
Well in particular, CSS Level 3 and some pre-processors like SASS/LESS. You can't do good layouts in just HTML. I mean you can, but it's a joke and ugly and static. I'm a bit of a hardcore web developer, and I'd wager, like XAML, most people that knock CSS really don't know much about it. I remember back in my time spent with XAML, it reminded me of CSS layouts over and over again.
Jeremy Falcon
When I say HTML I obviously mean HTML+CSS. Like I said, it is getting close to XAML. I way rather build a hybrid app in a web container than use any of the native mobile options. I will be thrilled when HTML gets proper shadow DOM. Understanding inheritance of styles is much simpler, much to the credit of how good the live inspection tools have become. Tweaking styles for a web app live is sooooo awesome and easy. Hell you can build half your app by never leaving Chrome now, which is pretty amazing. XAML holds a special place in my heart though, largely in part because of the integration with .NET and C#. Everything I do in XAML is possible in HTML+CSS+JS but considerably more painful at the moment. Have you tried TypeScript? I was playing with the 2.0 release the other day and I must say, it is pretty awesome. When HTML gets shadow DOM and fixes the few outstanding issues I have, I might jump ship entirely to HTML/CSS/TS.
-
If I remember correctly I think VS2013 really brought some really nice speed improvements. I have yet to experience a bad slowdown in XAML editing in VS2015. I do remember VS2012 getting a bit sluggish at times but then again I probably wouldn't have used XAML for a large medical application in 2012. Back then the only thing I used it for was full custom interfaces like touch screen kiosk apps and things of that sort. I would probably have just stuck to WinForms for a medical app. Today that's definitely not the case though. XAML and the tooling has gotten so good and MVVM is amazing and indispensable at this point. We actually don't do MVVM here, we have a whole framework we use internally to do what we call MVS, or Model View State, which is kind of a cross between MVC and MVVM. We're considering open sourcing and documenting it with tutorials and such but we are working on getting another surprise ready to release first ;) But between XAML+MVS and the other project we will release first, we pump out apps 5 times faster than with anything else at the moment. I <3 XAML.
MVS? Surprise, surprise :) We actually developed a kind of what you called MVS system for our HTML/CSS/Javascript (hybrid) applications ...
Find more in 1-NET: connects your resources anywhere[^]. Email searcher Email Aggregation Manager[^].
-
MVS? Surprise, surprise :) We actually developed a kind of what you called MVS system for our HTML/CSS/Javascript (hybrid) applications ...
Find more in 1-NET: connects your resources anywhere[^]. Email searcher Email Aggregation Manager[^].
Yeah I could see that, HTML/JS would definitely be a good candidate for doing something similar! It would fit perfectly with the templating and binding frameworks available and the structure of web projects.
-
This started off as a rant on here but then I realized it was getting long and decided to throw it onto my blog. I've somewhat recently been forced (okay, persuaded) to do some iOS and Android development and it really put the state of developer tools into perspective for me. I was shielded in my little Microsoft bubble of really damn good developer tools and now that the bubble has burst and the red pill has been swallowed, I figured a thank you was in order: [Code Index] Thank You Microsoft[^] I was planning to make a transition into more and more mobile stuff but I can't...I've been spoiled with XAML and C#, even considering faults and all, and I just can't go back now. So I'm going to keep focusing more on server-based work, dev tooling and stuff that won't need native mobile apps. Anyone else here try to make an honest effort to go from the Microsoft ecosystem into Android/iOS development and fail miserably? Well not fail, but ended up hating it?
Been through the same thing, though it was a Mac, exploring iOS and then a Linux project for me.
-
Mike Marynowski wrote:
Anyone else here try to make an honest effort to go from the Microsoft ecosystem into Android/iOS development and fail miserably? Well not fail, but ended up hating it?
While I can see your point... surely you jest? I couldn't stand editing XAML. The editor was slooooooooooooooow. Did I mention slow?
Jeremy Falcon
Jeremy Falcon wrote:
I couldn't stand editing XAML. The editor was slooooooooooooooow. Did I mention slow?
OMG! Someone actually use the editor?! :omg:
A new .NET Serializer All in one Menu-Ribbon Bar Taking over the world since 1371!
-
It *was* slow, but it has been improved significantly in each release of Visual Studio. XAML is also expressive enough that I rarely use the editor directly anyway - I usually have it in split screen view and I type the XAML manually. Faster, more accurate, less code bloat. I'm a huge advocate of beautiful hand-written XAML. Even when the editor was slower, I still never found it to be so bad that it become unusable. Keeping things well organized and split into smaller files helped a lot. There was a period of time before I was particularly good with XAML and relied on the editor more than I do now that I remember it being sluggish but I'll take sluggish over hand coding a UI with actual code or using Interface Builder any day. The kinds of UIs that you can easily build with XAML is nothing short of amazing.
Mike Marynowski wrote:
XAML is also expressive enough that I rarely use the editor directly anyway
What, you mean you can modify the top (editor) screen, I thought it was there for display only. Oh wait I have been known to click on an object and delete it, thai is the extent of editing done in the top screen.
Never underestimate the power of human stupidity RAH
-
This started off as a rant on here but then I realized it was getting long and decided to throw it onto my blog. I've somewhat recently been forced (okay, persuaded) to do some iOS and Android development and it really put the state of developer tools into perspective for me. I was shielded in my little Microsoft bubble of really damn good developer tools and now that the bubble has burst and the red pill has been swallowed, I figured a thank you was in order: [Code Index] Thank You Microsoft[^] I was planning to make a transition into more and more mobile stuff but I can't...I've been spoiled with XAML and C#, even considering faults and all, and I just can't go back now. So I'm going to keep focusing more on server-based work, dev tooling and stuff that won't need native mobile apps. Anyone else here try to make an honest effort to go from the Microsoft ecosystem into Android/iOS development and fail miserably? Well not fail, but ended up hating it?
Bugger mobile, I shy away from entering the web stack let alone the non MS mobile arena.
Never underestimate the power of human stupidity RAH
-
Mike Marynowski wrote:
Anyone else here try to make an honest effort to go from the Microsoft ecosystem into Android/iOS development and fail miserably? Well not fail, but ended up hating it?
While I can see your point... surely you jest? I couldn't stand editing XAML. The editor was slooooooooooooooow. Did I mention slow?
Jeremy Falcon
Jeremy Falcon wrote:
I couldn't stand editing XAML.
I've recently been writing one app natively on all platforms. I wrote it as a winform. Then i converted it to Android. That was very easy. Next, I decided to write it as a UWP Universal Windows Platform app. Pain. Agony. XAML. Now, I'm writing it as an iPhone app. Anyways, the other painful thing about the UWP XAML thing is that you literally "type your user interface" and all the editing takes up tons of space vertically on the screen. it's such a pain. And slow.
My book, Launch Your Android App, is available at Amazon.com.
-
Mike Marynowski wrote:
Anyone else here try to make an honest effort to go from the Microsoft ecosystem into Android/iOS development and fail miserably? Well not fail, but ended up hating it?
While I can see your point... surely you jest? I couldn't stand editing XAML. The editor was slooooooooooooooow. Did I mention slow?
Jeremy Falcon
Jeremy Falcon wrote:
Did I mention slow?
No, but you forgot to mention 'dumb and buggy'. It makes a lot of assumptions about what you would use XAML for and quickly stops working when something is not as it expects. It easily took the first place as my 'favorite' Mickeysoft bugware. Previously it was the ASP.Net webform editor, which at least never became completely useless.
The language is JavaScript. that of Mordor, which I will not utter here
This is Javascript. If you put big wheels and a racing stripe on a golf cart, it's still a fucking golf cart.
"I don't know, extraterrestrial?" "You mean like from space?" "No, from Canada." If software development were a circus, we would all be the clowns. -
This started off as a rant on here but then I realized it was getting long and decided to throw it onto my blog. I've somewhat recently been forced (okay, persuaded) to do some iOS and Android development and it really put the state of developer tools into perspective for me. I was shielded in my little Microsoft bubble of really damn good developer tools and now that the bubble has burst and the red pill has been swallowed, I figured a thank you was in order: [Code Index] Thank You Microsoft[^] I was planning to make a transition into more and more mobile stuff but I can't...I've been spoiled with XAML and C#, even considering faults and all, and I just can't go back now. So I'm going to keep focusing more on server-based work, dev tooling and stuff that won't need native mobile apps. Anyone else here try to make an honest effort to go from the Microsoft ecosystem into Android/iOS development and fail miserably? Well not fail, but ended up hating it?
I switched from MFC/C++ and C# to iOS and never want to go back. This crappy resource editing and bloated XAML is pain in the ass. The class library from Apple are simple and they work. No fizzling around some messie bugs and annoying errors. It is hard to start, but when know enough you write mean and clean code. And it works on all systems, no big and bloaty setups with errors. :thumbsup:
Press F1 for help or google it. Greetings from Germany
-
This started off as a rant on here but then I realized it was getting long and decided to throw it onto my blog. I've somewhat recently been forced (okay, persuaded) to do some iOS and Android development and it really put the state of developer tools into perspective for me. I was shielded in my little Microsoft bubble of really damn good developer tools and now that the bubble has burst and the red pill has been swallowed, I figured a thank you was in order: [Code Index] Thank You Microsoft[^] I was planning to make a transition into more and more mobile stuff but I can't...I've been spoiled with XAML and C#, even considering faults and all, and I just can't go back now. So I'm going to keep focusing more on server-based work, dev tooling and stuff that won't need native mobile apps. Anyone else here try to make an honest effort to go from the Microsoft ecosystem into Android/iOS development and fail miserably? Well not fail, but ended up hating it?
I am a kernel dev, 18 years on windows, 3 on linux, and you are right in one respect: My list of tools: 1) Windbg on Windows. Extraordinary debugger. More power than you know what to do with. ON linux, kgdb + debugger that came with compiiler. Dont know if Eclipse works as a debugger, and dont know if the problem setting kernel breakpoints was because it was an ARM11 system I was debugging or not. Building unoptimised code in linux has do be done source file at a time with pragmas. No over all 'debug build' of driver. 2) Code editing. VS versus GEdit. Actually I find the two similar. I dont use autocomplete anyway so no big difference here. 3) Code browsing. VS Browse vs CodeQuery. Being able to jump to definitions AND implementations in the linux kernel is of course nice, so its a point to linux here. So its an even score, but the power of Windbg is extraordinary. I know many linux kernel devs who printk debug. If they ever tried Windbg they would never be happy with such a crude process again.
-
This started off as a rant on here but then I realized it was getting long and decided to throw it onto my blog. I've somewhat recently been forced (okay, persuaded) to do some iOS and Android development and it really put the state of developer tools into perspective for me. I was shielded in my little Microsoft bubble of really damn good developer tools and now that the bubble has burst and the red pill has been swallowed, I figured a thank you was in order: [Code Index] Thank You Microsoft[^] I was planning to make a transition into more and more mobile stuff but I can't...I've been spoiled with XAML and C#, even considering faults and all, and I just can't go back now. So I'm going to keep focusing more on server-based work, dev tooling and stuff that won't need native mobile apps. Anyone else here try to make an honest effort to go from the Microsoft ecosystem into Android/iOS development and fail miserably? Well not fail, but ended up hating it?
Went from SQL Server to Oracle. Screams of agony ensued. Went from Microsoft Office to OpenOffice and later LibreOffice. That didn't go so well. Went from Visual Studio to Notepad. Actually that worked a lot faster :laugh: Visual Studio is a great tool, but sometimes it does too much and my computer is a few years old. I'm starting up VS now so I can get to work in five minutes :D The minimum install used to be 6GB, 'nuff said :wtf: If Microsoft does something right it's development tools :D
Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.
Simplicity is prerequisite for reliability. — Edsger W. Dijkstra
Regards, Sander
-
I switched from MFC/C++ and C# to iOS and never want to go back. This crappy resource editing and bloated XAML is pain in the ass. The class library from Apple are simple and they work. No fizzling around some messie bugs and annoying errors. It is hard to start, but when know enough you write mean and clean code. And it works on all systems, no big and bloaty setups with errors. :thumbsup:
Press F1 for help or google it. Greetings from Germany
To each their own I guess. I don't think XAML is bloated if written properly, and I'm extremely anal about XAML being written cleanly. We write XAML by hand, not using the editor. Anytime XAML seems bloated we refactor or find a way to reduce the clutter and keep it clean. This is just one example: [Code Index] | Getting Rid of Ugly TransformGroup Blocks in WPF[^] Resources are great - they are like CSS styles for controls. If you use the editor then yeah it's a bad experience and you will get TONS of bloat. The editor should be there for only 3 things - scaffolding a template or a style for you that you then hand modify and place where you actually need, having a live view of the changes you are making in the XAML by hand, or playing with property values like margins or color live so you can tweak them just right by sliding your mouse on a slider or color wheel instead of typing, deleting, typing, deleting, etc. Do you use IB or code to build your iOS interfaces? I'm assuming code, as most iOS devs quickly drop IB (us included) because of how bad it is. You lose something special when you build interfaces in code instead of a declarative language with a live updating view. For mobile apps it can be argued that the interfaces are simple enough that it doesn't make much of a difference but I tend to disagree. I would also *strongly* disagree that hand written XAML is bloated compared to the code required to build up an interface. I wrote interfaces with code 10 years ago and in my opinion it's a huge step backwards. HTML/CSS and XAML are a much better way of representing an interface.
-
Mike Marynowski wrote:
XAML is also expressive enough that I rarely use the editor directly anyway
What, you mean you can modify the top (editor) screen, I thought it was there for display only. Oh wait I have been known to click on an object and delete it, thai is the extent of editing done in the top screen.
Never underestimate the power of human stupidity RAH
Yes, definitely agreed. Sometimes I use the slider to change margins or the color wheel because it is nice to finely tweak the value over a smooth range. I also like the scaffolding for creating a copy of a template or style, but then I hand delete 90% of the bloat and just keep what I need. Animations in Blend for Visual Studio is just about the only thing the editor is used extensively when we have an animation heavy component to the app. It's actually pretty fantastic in terms of how easy it is to make great animations but the markup it produces is god awful, so we tuck away animated stuff into its own controls and only edit it with Blend.
-
Jeremy Falcon wrote:
I couldn't stand editing XAML.
I've recently been writing one app natively on all platforms. I wrote it as a winform. Then i converted it to Android. That was very easy. Next, I decided to write it as a UWP Universal Windows Platform app. Pain. Agony. XAML. Now, I'm writing it as an iPhone app. Anyways, the other painful thing about the UWP XAML thing is that you literally "type your user interface" and all the editing takes up tons of space vertically on the screen. it's such a pain. And slow.
My book, Launch Your Android App, is available at Amazon.com.
Converting an app from Winforms would be a lot of work because MVVM/XAML is a completely different paradigm. It's only really suitable for a new development written ground up the way you have to write MVVM/XAML apps. It also has a huge learning curve, much like HTML/CSS - I hated it at first too, and it takes a long time before you get comfortable enough with it to write code that you can look at and say "ah, what a work of beauty"...but when you get there, it becomes indispensable and you never want to go back to procedural UI layout. I have a fairly old box by today's standards and I have yet to experience slowness on VS2015. What are you using?? I also have resharper going and that takes up a whole lot of system resources on its own and still no problems. I never understood developers that would hold out upgrading memory or to an SSD to be able to use more powerful tools. Whats $300 or $400 extra to save you hours and hours of building an app? XAML tools used to be a bit slow but since VS2013 service pack something, I haven't had any such issues.
-
Jeremy Falcon wrote:
Did I mention slow?
No, but you forgot to mention 'dumb and buggy'. It makes a lot of assumptions about what you would use XAML for and quickly stops working when something is not as it expects. It easily took the first place as my 'favorite' Mickeysoft bugware. Previously it was the ASP.Net webform editor, which at least never became completely useless.
The language is JavaScript. that of Mordor, which I will not utter here
This is Javascript. If you put big wheels and a racing stripe on a golf cart, it's still a fucking golf cart.
"I don't know, extraterrestrial?" "You mean like from space?" "No, from Canada." If software development were a circus, we would all be the clowns.I don't know what you mean by "it makes a lot of assumptions" - can you explain? The editor used to be horribly buggy. That hasn't been the case for a very long time now though, perhaps it would be worth re-evaluating :) A lot of what I said is also dependent on the kind of development you do. The apps we build now have DPI-independent full custom designs. Whatever a designer can design in Illustrator we need to be able to translate easily into an interface, and XAML makes it sooooo easy. If you are building more standard apps then the learning curve might not be worth making the transition, but I will say that once you get over the learning curve you never want to use anything else again.
-
I am a kernel dev, 18 years on windows, 3 on linux, and you are right in one respect: My list of tools: 1) Windbg on Windows. Extraordinary debugger. More power than you know what to do with. ON linux, kgdb + debugger that came with compiiler. Dont know if Eclipse works as a debugger, and dont know if the problem setting kernel breakpoints was because it was an ARM11 system I was debugging or not. Building unoptimised code in linux has do be done source file at a time with pragmas. No over all 'debug build' of driver. 2) Code editing. VS versus GEdit. Actually I find the two similar. I dont use autocomplete anyway so no big difference here. 3) Code browsing. VS Browse vs CodeQuery. Being able to jump to definitions AND implementations in the linux kernel is of course nice, so its a point to linux here. So its an even score, but the power of Windbg is extraordinary. I know many linux kernel devs who printk debug. If they ever tried Windbg they would never be happy with such a crude process again.
Oh yeah, Windbg is great, saved me a few times from tearing my hair out :D I've never done kernel dev though so I can't comment on your last point. Low level development is an entirely different beast than what I've been doing for the last 10 years. I loved doing that kind of work back in the day, but besides some embedded C++ stuff for MQX RTOS, it just isn't the kind of work my clientele is looking for.