Introduction of Ethereum iOS dev kit by Josef Gattermayer & Jan Mísař (Devcon4)
Devcon·Wed, Oct 9, 2019, 12:00 AM
Visit the https://archive.devcon.org/ to gain access to the entire library of Devcon talks with the ease of filtering, playlists, personalized suggestions, decentralized access on IPFS and more. https://archive.devcon.org/archive/watch/4/introduction-of-ethereum-ios-dev-kit We present our dev kit that has been funded by the Ethereum Foundation. With the devkit iOS developers can easily use Ethereum smart contracts in their applications. This will be the official introduction of the dev kit. Speaker(s): Josef Gattermayer, Jan Mísař Skill level: Intermediate Track: Developer Infrastructure Keywords: tools, developers, devs, funded Follow us: https://twitter.com/efdevcon, https://twitter.com/ethereum Learn more about devcon: https://www.devcon.org/ Learn more about ethereum: https://ethereum.org/ Devcon is the Ethereum conference for developers, researchers, thinkers, and makers. Devcon 4 was held in Prague, Czech Republic on Oct 30 - Nov 2, 2018. Devcon is organized and presented by the Ethereum Foundation, with the support of our sponsors. To find out more, please visit https://ethereum.foundation/
Transcript
so good morning everyone my name is Joseph be introducing our work we have done for the eternal foundation sorry a little bit about my voice after all these amazing events and parties I'm a little bit a little bit sick but I'm enjoying the conference so briefly who we are we are called aqui some some of you guys think that we are we are startup so that's why I always present it a little bit we are we are basically a storehouse here from Prague and we develop mobile apps this is what we what we do for a living we also have offices in Berlin and we are quite quite big nowadays we 450 members and usually we develop mobile apps but blockchain for us is basically another type of a back-end so so that's why we came to contact with with it and then we really like some tools that we could use in order to deliver mobile apps as we are as we are used to so that's how this project came up our usual projects are something like this now we are working on mobile app for German parliament which will be launched in about month not lately we have been working on a lot of projects in blockchain and I believe blockchain is one big quartz so there's no competition between each other so the same thing we do for a Tyrian foundation we do also for Commons Foundation we are helping them to deliver the developer tools they would need to complete their ecosystem and we also have one funny app that we have created during a hackathon and it's a quite typical use case because as I was here at Monday the other plasma talks never as a use case also rock-paper-scissors at so it's like typical blockchain app all relate is that we we have created some kind of app where you can bet king tokens which is summer and a recurrence ironic partly on the theorem parts and this is going to to get to Android store in about two weeks but I guess you are here because of this which is the project that we get a grant for a Tyrian Foundation and it's basically a set of tools or defecate to allow smooth development on iOS so what is it it or maybe before I begin question could you raise your hands who refuse developer right and blockchain developers okay so these two groups sometimes overlap as I've seen but most commonly use case is that they don't over it so basically when there is a start-up or or company that wants to develop a mobile app that works with it even blockchain they they have iOS developers who never evolve a blockchain and for them parsing the free jeaious interface is just nightmare and understanding how the smart contracts work is basically they don't want to do it and it's it's reasonable that's not like their their typical work on the other side blockchain developers they don't know how to create iOS mobile apps so this is for me something like motivation to create a defecate which will which will help both sides to be able to work on this technology so what does it consist of there are basically three sub projects that it relies on and the first one is something we call mvvm project template I will introduce it in another slide then there are low level communication libraries and there's a code gen which is the most interesting part I guess so the first part this is something that when we had talks with 18 foundation they were really excited about it so we made it a part of the difficut but it's not it's not a mandatory to use basically as I told we are an agency that develops my labs which means we start a new at project about every month and for this reason we have internally created some kind of project skeleton template which helps us to start projects really quickly because most of the mobile apps have something in common and what do they have in common in our case is the architecture we are big fans of model view viewmodel architecture and this skeleton we have made it an open source so it's open source done on our github you can see the link down there and one of the one of the key key things is that we don't really like storyboards so this helps us to define the flow between single single views as a code and also there are small things like switching between single environments I mean like stage production and so on so this is all handled by the by the project template I will say that we are not saying that this is the right way how to develop iOS apps but this is the way that works for us and you are more welcome to try to use it as well the motivation I can set in our case is that we are able to start a new projects really quickly and our board for example new programmers to our tech stack very quickly as well so it's been it's been open sourced and you can you can try it the second part of the difficut is something we call all our communication libraries and this is usually the Deaf kid and we didn't do this part because that was done by another grantee circuit we just correlated with them our work and it was I think a very good cooperation so basically we built on this tool what does this this tool or library what does it do it does all the stuff like handling transactions so you don't have to parse the web 3GS manually and things like this it has a wallet in it so this is like the basics you need in your iOS app in order to communicate with the blockchain so we go at low-level tools and what we've done next is that we have created a code generator as we call it and this part basically has an input API of children smart contract and as as output there are cons swift code out of it so it's basically generator of sweet swift code with this approach programmers can natively call the functions of the Smurfs contracts from Swift and the calls are type safe and it also has all the covers our educators like parsing different each hiriam types to swift types so basically from the developer point of view it's something like an SDK and this SDK is created custom for each smart contract which means in this case if your project has I don't know in your team you have Al's developers and you provide them with a link on this on this this house difficut then they basically just run it over the existing smart contract and as an output they have all the source code they need to communicate with the smart contracts so they the the ice developers in that case don't really need to deeply understand understand the blockchain a and they're also don't need to do the annoying voice work with parsing or all the low level stuff because this this code gen has of course included s independence a the eat irrigate and our MV and template is not an dependency but you can use it with that or you don't have to use it with that it's it's up to it's up to you so here down is the link on our github of this or this kit it's it's been published last week but of course feel free to to open any issues or discuss with us anything that that you would like we still plan to of course support it what's the result of of this work yesterday we had a small hands-on workshop in our office where we demonstrated that we are able to create a new native swift iOS app that calls functions in smart contracts under 30 minutes so it's like really quick start and we also on the github but there's an installation guide and we've also written a blog post where you can see a real step-by-step guide how to create yep this is more for for example for the blockchain developers if you are not familiar if Isles so with this with this blog post you are able to build the native app really in the certain minutes if you if you don't have any any more other other other background so these are I think the promising results that we that we have and yeah you are more than welcome to to use it and if you had any questions I have with me my colleague Mark who's been working on the projects as a developer so we can either I know who your time discuss it here on stage or then off stages we will be hanging out here for a while as well so thank you
Automatic transcript — names and jargon may be misspelled.