Visual Studio Live! last year was a bit of an eye opener for me. As my first conference, I walked away from it with a feeling that I was letting the as400 tie my hands as a web developer – and worse, there was really no need to.
Yes, the as400 only natively supports PHP, yes, their .NET framework tools are lackluster and yes, it took me months if not the better part of a year to figure out what path to go on. It has its’ limitations but not so much that I should keep putting off learning C# and Visual Studio any longer.
Walking into this year’s Live360! – now with my first 3 .NET apps under my belt – I looked at this conference as a way to bring my new skills together with fresh tools and learn to create one look for our employees, regardless of what lies on the backend.
Office / Sharepoint
Right out the stable, the first workshop to blow me away was Mark Rackley’s inside look into SharePoint. His entire workshop talked about creating a friendly UI for our employees to see SharePoint. Strangely the UI he was creating looked very similar to the Product Administration UI that I was creating (and had fears of clashing/conflicting with SharePoint on).
His solution? Redo the face of SharePoint with simple front-end design. He used a mix of jQuery and CSS to import some style and hide/redesign the “webparts” that we currently have on our SharePoint site. The end result was a tabbed interface with buttons like “HR”, “Accounting”, etc. It was simple, clean and resembled most modern websites / mobile apps we see today. But the entire backend was SharePoint.
SharePoint as a backend? Yep. He revealed that SharePoint by design has a backend API it builds and that a developer can expose – so that once I do create that simple pretty front end, I can then say .. put up a search field and search all our backend documents that employees have added to their collective areas.
This workshop alone was probably one of the biggest take-aways as it really showed how we can make SharePoint more palatable for our users AND create a unified look for all our “employee only” areas.
On a sidenote, eating with some others who were impressed with his workshop, one advised we might look into PowerApps – they might meet some of the needs in creating simpler interfaces for our employees, as well.
His blog: http://www.markrackley.net/2015/08/16/sharepoint-tabbed-web-partshillbillytabs-3-0/ (and visual image of how he created a tabbed look for his SharePoint site.
Visual Studio 2017 / C#
As a new developer in VS, this conference built up a lot of confidence for me in how I was using Visual Studio and my work process. There are some bugs (example database viewing thru VS and Azure syncing with VS 2015) BUT 2017 seems to be actively updating and resolving these issues.
Some new perks of 2017:
• C# as a language added tuples – the ability to return TWO values instead of one. Amazzzzinggg. Very useful say, when creating drop down lists and I need id AND name to populate it…
• Clearer display of errors. Perfect example: System null reference. Before, you’d have to hover over your variables, dig down into lists and find out WHAT was returning null. Now, VS displays results / variables directly in output window so you can immediately see and fix.
• Incorporation of “snippets” for those parts of code that keep repeating
Overall, the keynote on this was very exciting – I uninstalled 2015 that night and installed 2017. During the workshop the following day, the speaker actually had errors in 2015 while mine fired right up in 2017. It was a reassuring sign that Microsoft is actively, quickly, resolving any bugs it finds.
This *will* be my IDE for all development here forward, its’ efficiency is incontestable.
I also attended a workshop on architecture. This was probably the biggest hurdle I had in learning C# and building modern apps. I just recently got more confident in my grasp of it but Brent Edwards’ presentation really solidified my understanding of it.
There was a speaker here that was head and shoulders above the rest – James Montemagno. Fomer Xamarin employee, now works for Microsoft. In under an hour he explained the need for online AND offline access to webapps and stood up a very simple app (tracking his coffee intake). I was particularly interested in this one for problems that we faced with pricelists and saving pricelists for offline use.
He used Azure mobile apps, VS, C#, etc and created an offline table (in cloud) to sync to. The sync seemed a lot simpler than I imagined and his explanation, quite good. Not sure I could do it right away, but he showed a very simple and clear path. It’s something worth looking into for our sales team.
His slides: http://redmondevents.com/virtual/vslive/2016/live360/pdf/VSW06_BuildingConnectedandDisconnectedMobileApplications_Montemagno.pdf
The Git of the Repo he created and demo’d in workshop: https://github.com/jamesmontemagno/app-coffeecups
Another memorable one was the presentation on Fiddler. Previously, it was known for traffic sniffing – example if I’m exchanging info B2B, or gathering info from a source like Google, etc. It still isn’t an area I usually work in, but the presentation did provide insight into other tools I might use with Fiddler.
Specifically, it seemed a great tool for performance testing and session testing. True testing from a user perspective to work out the front end bugs.
I also attended James Montemagno’s workshop on mobile app testing. Overall unit “testing” is a weak point of mine, but seeing him code live was refreshing to see that I am not alone. As developer’s it seems a bit awkward to put in these unit tests, it’s tempting to just hit “publish” and off you go. He demo’d some simple unit tests, though, and showed the efficiency in finding bugs.
Overall, I have a bunch of reading to do, but I feel the conference really gave me some direction in how to solve some of our problems. I never imagined jQuery + CSS could easily solve some of our SharePoint messiness or that offline syncing for my apps would actually be attainable without me losing my mind… I feel like I’ve grown my points of reference, my community of developers and can rely on some to help me if I get lost.