ITkonekt is one of the largest IT communities in Serbia that organizes conferences and similar learning events where people can exchange their experiences and share knowledge. For the fourth year in a row, ITkonekt held the IT Week in three Serbian cities: Belgrade, Nis, and Novi Sad. The attendees had the chance to learn from some of the biggest names in the industry, such as Håkon Wium Lie, the creator of CSS, and Jon Galloway, the Executive Director of the .NET Foundation, to name just a few. Topics ranged from basic concepts for beginners to the latest updates in programming languages backed up by practical examples of code. There was some really exciting news from the tech world, inspiring stories of startup successes, and talks on how to utilize new tools and approaches to app development. Hard as it was to choose, we decided to give you a brief recap on a select few of the most interesting talks.
Changing the Future of Healthcare with AR Glasses and Genetic Screening
It's not very modest of us to cover Symphony's talk first, but it's hard to resist the temptation when you've worked on products that can help save lives. ODG AR Smart Glasses are the only hazardous location-certified smart glasses in the world for use in extreme conditions, such as pilots performing emergency landings in smoke filled cockpits or doctors performing surgery. Symphony used Android, React.js, and Python technologies to make a software platform that enables third-party developers to create custom based apps for the glasses. We also work on an Android/iOS app for Motiv Ring, currently the smallest fitness and sleep tracking device available on the market. Another and one of our most rewarding projects is for Counsyl, a company that uses genetic screening to detect patients at risk of developing hereditary diseases. We use React.js, Python, Django, and Postgres to develop an app for generating reports of gene mutation. Preventing diseases like cancer is pretty neat, and if you have aspirations to work on similar meaningful projects (or learn more about them), drop us an email at hello@symphony.is
What's cooking in C# 7?
David Pine gave an amazing talk on the innovations in C# 7 as well as on the prototypes and proposals for C# 8. This talk was arguably the most practical (and most code-rich), with lots of examples. So, what's new? Local functions is a new feature of C# 7 that lets you define a function within another function. While it may sound similar to anonymous methods, it has functionalities that aren't possible with anonymous functions. This includes enabled recursion, the use of iterators (impossible with lambda expressions), and generics support. Next, there are out variables which enable declaring out values inline as arguments to the method where they are used. They have same scoping rules, implicit var declaration, and are valid with ternary. Tuples are unnamed types that contain multiple public fields. One of the best things about them now is that instead of having example.Item1, example.Item2, etc. as default names for tuple elements you can ‘store’ different values within ValueTuple. Another innovation is pattern matching: there are constant, type, and var patterns which, simply put, describe the ‘shape’ of a value and allow for a more liberal approach to variable comparison. For example, is expressions can now contain a pattern instead of a type; the same as the case clauses in switch statements. There were more examples, such as binary literals that you can use to specify bit patterns directly instead of having to know hexadecimal notation by heart, but we won't cover them in this recap. Lastly, the audience was introduced to C# 8 proposals and prototypes (just to give you a taste: default interface methods, async streams, and nullable reference types). You can see some code examples from the talk here.
CSS: Origins (not yet another superhero movie)
The inventor of CSS took us on a trip down memory lane all the way to the nineties (and screechy dial-up modems) when HTML and CSS were born in CERN. We learned how the language evolved and adapted to user demands right from the beginnings of the Internet up until today. In a humorous and captivating story, Mr. Lie described how CSS developed new capabilities to meet the constantly growing needs of designers. The hilarious deformed smiley face example demonstrated the issue of inconsistency on different web browsers prior to the adoption of unified standards, with Internet Explorer being the one that offered the least CSS support until the IE 5.0 version. This talk was appealing to everyone from people who had never worked with CSS to those who use it every day.
One Code Base to Rule them all
Many developers were interested in hearing how a single code base can be used for PWA, SPA, and hybrid apps. Goran warmed the audience up with the basics of the three kinds of apps and their mutual relations. One of the things he focused on was choosing the appropriate mobile UI and JavaScript framework, making a nice comparison between Ionic and OnsenUI. As can be seen from the example, there is no universal solution and these decisions should be made based on specific project characteristics. In a nutshell, developing SPA, PWA, and mobile apps with one code base is a good approach when you need to develop a simple MVP. There are a lot of problems and challenges in using a single code base, including immature libraries for this type of development, but, according to Goran, things will probably stabilize within the next few months.
.NET Core and much more
As .NET Core 2.1 is currently in preview it was exciting to learn about the top new features it will contain. Jon Galloway talked about build performance, global tools, span , memory , and other feats that we can expect in the 2.1 release. As for ASP.NET Core 2.1, there was talk of HttpClientFactory, Razor UI in class libraries, Identity UI as a library, GDPR changes, and SignalR. Lastly, Mr. Galloway introduced Blazor, an experimental web UI framework that uses C#/Razor and HTML and runs in the browser via WebAssembly. The advantages of Blazor are that it does not require a plugin or code transpilation and works in all modern browsers, including mobile browsers. Right now, the future of Blazor depends on its reception by the developer community, and it will be interesting to see the road it takes since it sounds like a very engaging project.
Blockchain my Heart: Using Decentralization in Supply Chains, Market Research, and Online Reviews
This talk was spot-on for everyone who is still wondering "what the hell is blockchain and why should I use it?" Oliver introduced the basics of blockchain and Ethereum as well as the various Ethereum networks and how to make the right choice between them. He also talked about smart contracts and Solidity, which is a programming language for implementing smart contracts. We are convinced that all blockchain beginners walked out of the room with a solid knowledge of blockchain and at least one idea on how to use it in their own projects.
Imagine two piles of tomatoes in the supermarket that appear identical apart from the fact that the second pile is marked as organic and costs five times more. How can you trust this information and be sure that the super expensive tomatoes are actually organic? This is the basic idea behind Origin.Trail, a blockchain-based platform for supply chains. Origin.Trail enables customers to scan products for information on the origin of the ingredients, nutritional information, and far more. Thanks to the decentralization and encryption of the information there is less chance of false advertisements and suppliers can safely handle and store confidential information from which their competitors could benefit. Branimir showcased the implementation of the product for a dairy producer from Slovenia called Zelene Doline.
The trio from Review.Network shared invaluable information on how to develop a blockchain startup from the initial idea up to the successful realization of a project. Their goal was to provide a decentralized and therefore more reliable approach to the online review process and market research, because there are plenty of examples of fake reviews or skewed research on the internet. The talk centered on their own experience and everything the team went through from the idea brainstorming to obtaining their own token. While some development steps may have seemed obvious, this was in no way redundant when you consider how many startups fail at these very things. A team that fails to stick together or the absence of solid legal support can cause the whole project to collapse like a house of cards (like Kevin Spacey's engagement in House of Cards). This talk was a must-see for anyone considering developing any business idea that involves blockchain.
In conclusion, the ITkonekt conference managed to diversify the topics and the complexity level of the talks so that there was something of interest for everyone. Most of the talks were best suited to junior developers or people who have just recently stepped into the world of IT, since they offered the fundamentals at a comprehensible level. Yet this does not mean that the seniors had nothing to gain, because there were talks that offered an insight into the latest changes and future plans for those people well versed in a certain technology. ITkonekt is a successful, well organized event with great networking potential and we're already looking forward to next year's conference.
Picture credit: ITkonekt & Symphony