Bestand wählen
Merken

Building Desktop Apps with Ember and Electron

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
my
K as a reminder that afternoon everyone so my industry like Siemens was engineer with Microsoft which really just means that I both source for a living I don't really have a product or anything of this you know hanging out of the office building on source and and 1 of the things that I thought was really sweet he's working with it over the last year was electron and a of you know the long Amber fan and those 2 things work really well together so what I wanna talk about today is pretty much how you can turn the amber up into the dust of occasional kind of things have to consider and how you can make your en brat true justification that also the some best of his stuff you know as much as the weather pattern of syntactic and and also measure to you and electron which is pretty much there put all the earnings and all the automation that you could automate away from taking number wrapped into natural electron so that means that a very quick introduction into electron and if you've never heard of it that's fine it's it's pure developed a tool but you might be running some of the apps that use electron thing most prominent are added and Visual Studio code slack and upon to them brave enough new browser that is around on amazing electron-electron is essentially combination off at chromium the observation of problem combined with node and a bunch of API for Lloyd call native stuff so there's things like education something I worked on for a solid week which if you write in the past was pretty difficult code but we can do now is just a unification and then all of a sudden enough navigation pops up so and there's a bunch of benefits to using it the biggest 1 is of course that it's crossed that that is the most straightforward 1 is what people use you like he will give because once and because it's using mostly web technologies have been automatically runs on Windows Pakistan and Linux if you wanted to and but the other 1 is and I think that's that's an actually really big benefit is that the developer tools are amazing and because so many applications using the same stuff you get to use some of the tools that those people have developed to make things easier so if you want to use the same one-click installer that's like users on Windows you can do that will use the same on data that works and Adam visual so you put a Mac and Windows you know where your starts enormous and it's not that you can do that all those things are part of the developer ecosystem around electron and rebate and uh the telling an adjustable of anything you would say that you know using pre-med stuff is good idea to be false or smart and it's a good idea not to reinvent the wheel so but before we go any further and this is my promise is the only technical slide but I would be very useful very brief about how what's underneath because I seem that many of you some of you may have you something like an old WebKit water maybe I see you have the problem a framework and anatomic slightly different in 1 way and that is that the electron when it starts it's really just a process there's no window there's no you i to be seen as just a process that is node only and that process is able to spin out renderer processes which are essentially just chromium windows and those 2 processes talk to each other why something is called the IPC and that the reason upon this out because of become important later on but and the idea is that you start another website or web that you start a script 1st that's good bandits to open up a browser windows screw things up at the at so and so on and so when when I was working with electron result 1 with no wreckage and that was really really sweet and on called number and line of work it on HBO by spell who might be some room and the amazing tool if ever wanna use no work it just makes things a lot easier as a lot of people to have to do and you just wanna run and web and and to have all the hot reloading all that stuff make stuff tremendously using and so really ensuring that also really enjoying the style and that and she was amazingly bold Arak and Microsoft and I thought it would be sort of nice about the same thing for electron so it took the whole thing and part don't electron you know with no but could be in various levels are a 50 % on and there's a bunch of stuff in there that makes development of fairly easy this talk was initially about you know all the things have to consider all the things you have to do and that we could automate those away into that add on which makes things a lot easier and this basically for B components to it and the 1st 1 is that it allows you to on the set of of that the false statement on normal dinner Lamba rapidly million-acre electron runnable the 2nd 1 is that we can in the the uh the embassy the Ember Inspector something called embassy line modern spectra you might be wondering why that is necessary and browser Adams to not run an electron that on 1 and all but it is still 1 use Ember Inspector you have to do all we have to build a fancy about at the end of that and the 3rd 1 is packaging so you basically have an and and beginning and then at the end when the binary s there has to be sort of step in between we run that step for you including the complaining it dependencies which more work it sounds like an because you can't components noting components electron and their uh so I have been working with C + + over the you know with electron tubes too few electron tools and then could show events the home if you look to touch C + + like a monthly basis and this just a few hands so let me tell you we have if I want to add a new feature to electrons they 1st have to do with the fact that electron has about like 40 different string types and you know 10 of the mother tongue of also documented and the other theory is sort of like surprise you neutron string type and it was all like a tree is a good Google and all the people involved the bad or something this drop of the Internet and then he sitting there uh so if you don't have to do that is sort of amazing right and as is really the only other native technology that we have to true you building about so on this stuff handled the use of mice and so that means that quickly come to the 1st 4 months right on the basis all Member what happens there there are maybe the generations run and instead of showing you more slides and this show you what that looks like so
if it quickly because the presentation here and go over here what I have here is this default boring and right certain and burn you in the pros and and is the usual stuff I can do instead that I and set that I also ran Amazon Amber electron there's a few things the most notable ones are that it now it in electron Douglas file the the and that is really what is gonna be executed bilateralism is run the application and then here you can do a few things like you can see right here 1 of the most important is that all winners those is the winner so close to achieve yet but we also go ahead and open up a new browser window and a busy at the application of our Amber so I guess this is the 1st very important thing To realize is that your application is no running with an also over to be run and the yes if people know and running a server in a local at sort of bigger and better and you should never do that so electrolysis not running as some of the issues that state of loading the fight and yeah and then if 3rd windows closed we just recently mainly so that allows us to me need to know we could not only just Amber
serve but in this case you just say and my lecture and what that does is it builds the application so this gives us an integer stood real quick it builds the application and and then index a few things might need so that is our application right here you just show you what briefly did here
and but it also injects the Ember Inspector of sockets so it can do now is an old hand over to form sorry that should not launch
discrete their away so I can read out destinations with this over here is occasionally here and I can still inspect my little application just like wooden specanimal member right it just works out of the box you can do things that immediately get is really really big sometimes gets a little bit you know will be a key because it is a clustering of of about sockets that and time you were talking what how how popular an inspectors and I think that speaks to how amazing In the inspectors because the diffuser and which is sort of a test but the other thing is that it sets up the require and turn the note context in such a way they can actually use it so just open up the consul right here I can just go ahead and say process right Nicholas proses thought regions we get all of the sudden is my node object and I can do some pretty simple things I can just go ahead and say I'm lot of player at wanna get then is you know sort of the best I can call that from within my application can call those things from within your and replicates and I think I think the efficiency of fairly obvious but it is allows your application to be much more powerful than it may in before it is pure wrap the big difference between whether in native that is not necessarily that the that that is written in different languages just at the native app has more powers just more things like Choi volume joint power them open fussily files to all those states and I think that and today and it's a pretty powerful tool and the is really that much that is missing and the developers that what an atom with electron promote all the tools that they need and and this is just a molecular case adjusted pretty easily make sure that you can pull requiring inside applications using the emperor's all over we can use a here and call on graphs so that is so the the easier part that we could
teach on back to the presentation and the next 1 is and the next 1 is and the militant test and which again the whole point here is just make things easy
and become that as we have test but would it bring close test which is the number of occasion that I'm currently working on and anyone has ever heard of it blogging platform ghost and I'm on the team and will billion that's about using the stuff and show you and a sort of a proof one-dimensional molecular well so not only if you just remember test that doesn't really work because you might be calling native the models right and you call those from browser thing breaks and things horrible and nothing words and you can work around that's what we have now somatic contest and the the which basically spins up electron runs unit tests inside electron began takes care of everything for you it's pretty much automated away and everything is difficult notice
frontier point distance from for don't run in this case the driver and the idea was of but they read by the this you from those things to get coverage report any and everything that you normally do
and still works right so that just
Watson son and then I was you also have the settlement and things um and is really anything to consider it as part of it is very convenient because normally you would have to consider a bunch of things and it is really any way to do this in an easy way
but now you have as so the mode and I'm not gonna show you hop life regarding because of the you know what it looks like that of a change of file that they'd all the test run again and and this is just automated way for you and thanks to some very nice the odds even works on Linux which has a slightly different polishing mode and Windows and OS 10 so I'm up to that point was all like
pretty easy stuff right I wanna say was a like almost very boring and what becomes more interesting is the whole step if you go from just this folders this embassy life older over intellectual package binary right there's a bunch of setting do let me just let me just run and
images from the build and what you guys through how that actually works so and this package command and then specify the platform because I'm actually happen is being installed here that allows me to build other platforms for what it does is that it builds imbrication of document the and then takes all you mean because remember we have 2 different friends right in this case we have the renderer process transmit and application but we still the main thread which runs all the stuff that the electron usually talks about like opening new browser windows open a new dialog setting up new images so what we do is that we also copy over that come with me and I hope this is big enough not going to make a bigger and and once you've done that we we sort of creating spectra adjacent installed bright dependencies because agree ownership point of dependencies with your action application there's no reason for application of thing bottle you know no users continued it so we just install the actual dependencies and then we go over download the electron headers because it turns out electrons actually different binary and node so if you wanna on anything native lexical light or anything like that you will have to recompile you dependencies so we do that right writers just like the vector away from you and then we use the application and to over here there's no follicle electric bills and we now have come and just run it and all of a sudden have a on that right and that is what this absolutely nothing we had to do mainly just what's that so there we are and that being said this is this is about the time we can talk about some things that become a little more interesting right so and and what I brought for
you a the ghost of so the 1st show you the
ghost test of scaling here it closeness December electron which antebellum applications of goes and so doses goes that that's going to be essentially weight around your blocks from a distant way in this a
few things we do that sort of turn it beyond just being a limber up so we see here is essentially true amber apps with the outside Amber evidence that out so this will come to ghosting year there's all and that just go here isn't book and this is this is basically the inside lot this is the number of hidden by itself but then we wrap a whole and replication around and this is important because of the security model and basically don't wanna gave full node access to the ghost instance most of enough security and talk a little security and talk and that we also wanted you a bunch of named things and this is a good point me to talk about some of the shortcomings electrons still has some of the things you will have to consider when you built in number and let me start by talking about the context menu and we just do anything right here and basically a conceit you cannot see that ending of biking but what happens is that agent comes without a context menu something you will have to set of yourself and I can show you the code is in theory fairly easy to
do but it is interesting that you have to do it in the 1st right so just consider this a few things that you expect as a developer to just be there which aren't really there concern control the whole application context copy paste those things that are not on a maybe on the box some all available you have to give a context menu for yourself another
thing I'm fighting with right now is pretty big is something like spell check that all 3 platforms of but you could be either promise to working in 2 chromium is not into the meaning we have a blowing at the writings of the core thing that we do an important we carried out a spot what is also why the application that we use and there's all development system around you get around that but what space is going to happen is that within now week 4 key events analyze the words make sure that those much dictionary and then possible that because we don't wanna ship whole dictionary what we're gonna do instead is that the news the native components but components means all of a sudden if C + + and so forth right you can sort of see what is going and there's a lot of work you have to do extra but the big benefit here is and that even though you sometimes to have to call you always can mean them there might be reasons for you to wonder why that you would want to call something made of the but it does give you a very quick example I just a fundamental something called Warhol
and is a little calendar application and and we've seen analysis amber and because the application can the and the same time is interesting and so specifically tried a bunch of ways to you know cash my answer key moments around but it turns out that all the way to defined in jobs to do what in sequel be dates between current so what wanna get if you wanna get all the events that start in between 2 times 2 times all of those are very very slowly running a thousand times with implications nebula right here I sort of by the disorder like go next and you that that is very very slow what however is very fast asleep 11 C so I can just go ahead and say straight out possible light equals require the collect and that works inside member which is nothing else I have to do and the beauty here is that I an am sort of the way embers designers to Tom about it briefly on science and I'm not surprised missing outcomes of the problem and the way embers so that makes those interactions very natural very easy so the mystery something else and In the example of ghost and funding goes in because of so many hundreds of but in the example of goes now that we have to log instead using the native operating systems qeval and inevitably that's that's for something about about don't actually have to but basically if you made a secret since an application developers very quickly start using very insecure methods to keep us what's around so all 3 platforms Linux Windows and OS 10 have at some point offered developers very easy apeándose OK give me a string and keep it secure I just give me and of course you have to call that natively there's a little module they're called key tower the does that for you so if you go and check out all block model right now it's it's pretty simple stuff right and get password doesn't this I require key tar and and I just Standard require no because and that makes a cure but you could also just saying key and then I just run this native model and what happens is that if you compile goes desktop
just that here the we and is that I'm electron will handle the whole all I have native dependency of the past but every component and molecular completely handled for you will go and the gets right headers for that was neglected using recompile them with the bill tools you have and this is also interesting this is an interesting junction for for the see a lot of what the lot of next year as it is to be expected a number and this is an interesting junction because some requires you to monitor and solve assistance because as soon as you have of dependencies and you lack changes people to cycle cannot build Windows applications without having a Windows occasion build tools the same way around and you need to do it from a standby by installing wine and then suddenly what's and in theory can build Linux from both platforms and we had a bit of trouble with that theory that is possible and but the biggest Cochise also something web developers and never think about like me and release a developer preview of ghost because desktop and I just built that on my machine 64 bit personal network turns out of the 32 bit did start all right and so the forgot sorry that those things happen right so it's the so basically the the and then updated on to using this for it just so you know what is the plan providing for and and finally more than just more than just an operating system and but for all that being said and let me go into my last slide because I think it's an important 1 and because every now and then every now and then
and assessing the as in the election to get the
questions that make me very very concerned reorient 1st cases so and Microsoft right and we recently experienced that people on the Internet I mean and it is fairly if that nobody told us sort so I I wanna mailing 1 thing abundantly clear because I think the electron team and me included Tony fail to make his obvious if you build an and this is not specified electron this is true for all the solutions currently they give you know axis and if you thought cross-site scripting it's text was scary you have not considered that as soon as random here they can like literally wiped right this is this is very important have seen that so many times and there was actually a big case involving electron and with an anti-virus company called a vast which the great idea all I know how we you know make our normal website of mitigation we hosted built solver just accept segment of strings and then we execute those traits yeah yet and so Google but the thing is the thing here is that who will actually and you can read the whole thread on the on the chromium microM so google actually contigs us was like a just so you know everyone's running a best and actually told you know and can be would at it from the outside and the troubling is that many developers really think don't really understand what's actually happening and so so do the very simple example and we can open up new windows using a how strings to something that is also possible and chromium simplicity say and the same way you can install and the a model from a string we can create a new window from strings in this you say this is my original object is string and in there I can say pretty much anything including XX bond on new scripts exude business scripts the revival of saying is and if you're thinking about building destoryed that's amazing you should actually do that it's there they're actually real benefits to having this other because the intricate into the death of a little bit little bit easier if enough modifications in about menus in native 1 use of protocol right if you and so with the builders ghost colon slash slash and then you can basically the whole post this automatically thing and this is this 11 regions in new but please be aware that all of a sudden attack vector has grown by about you know this is only in % and be super paranoid about what you do and if you're not using it dubious yet but you still want low remote resources this will be a great time to start and that is that was really sweet and so in summary at least going check this out and it's on this link and I think almost all the time but is on this link is gone check out I'm electrons as inferior to doing anything super crazy fancy but tested this with a bunch of kids inside like a self-running amber most of this with a bunch of people also acts of Birmingham in theory you just have to run install Amber electron and ion and electron all of a sudden the applications can run as an application you take it from there and see that maybe it would be a good idea for users and so that would be the talk thank you very much al sh Psst psst psst psst psst
Resultante
Prozess <Physik>
Desintegration <Mathematik>
Browser
Kartesische Koordinaten
Internetworking
Übergang
Netzwerktopologie
Softwaretest
Code
Bildschirmfenster
Visualisierung
Volumenvisualisierung
Skript <Programm>
Interprozesskommunikation
Tropfen
Gerade
App <Programm>
Softwareentwickler
Befehl <Informatik>
Prozess <Informatik>
Installation <Informatik>
Güte der Anpassung
Gebäude <Mathematik>
Quellcode
Biprodukt
Ereignishorizont
Rechenschieber
Generator <Informatik>
Rechter Winkel
Zeichenkette
Telekommunikation
Web Site
Subtraktion
Wasserdampftafel
App <Programm>
Schaltnetz
Zahlenbereich
Gebäude <Mathematik>
Code
Physikalische Theorie
Open Source
Message-Passing
Benutzerbeteiligung
Knotenmenge
Fächer <Mathematik>
Luenberger-Beobachter
Zusammenhängender Graph
Installation <Informatik>
Softwareentwickler
Binärdaten
Quick-Sort
Office-Paket
Videokonferenz
Basisvektor
Mereologie
Normalvektor
Telekommunikation
Router
Browser
Kartesische Koordinaten
Kombinatorische Gruppentheorie
Template
Eins
Komponente <Software>
Last
Gamecontroller
Bildschirmfenster
Default
URL
Cliquenweite
Elektronische Publikation
Prozess <Informatik>
Systemplattform
Elektronische Publikation
E-Funktion
Quick-Sort
Rechter Winkel
Ganze Zahl
Automatische Indexierung
Server
Modelltheorie
Versionsverwaltung
Aggregatzustand
Telekommunikation
Subtraktion
Bit
Prozess <Physik>
Quader
Formale Sprache
Kartesische Koordinaten
Ungerichteter Graph
Socket-Schnittstelle
Knotenmenge
Total <Mathematik>
Datenreplikation
Diffusor
Spezifisches Volumen
Softwareentwickler
Cluster <Rechnernetz>
Leistung <Physik>
Softwaretest
App <Programm>
Datenmodell
Kontextbezogenes System
Quick-Sort
Dialekt
Objekt <Kategorie>
Witt-Algebra
Rechter Winkel
ATM
Mereologie
Versionsverwaltung
Schlüsselverwaltung
Aggregatzustand
Softwaretest
Telekommunikation
Punkt
App <Programm>
Browser
Zahlenbereich
Kombinatorische Gruppentheorie
Systemplattform
Quick-Sort
Informationsmodellierung
Einheit <Mathematik>
Einheit <Mathematik>
Kontrollstruktur
Wort <Informatik>
Versionsverwaltung
Punkt
Profil <Strömung>
Browser
Element <Gruppentheorie>
Instantiierung
Bildschirmfenster
Menge
Repository <Informatik>
Druckertreiber
Softwaretest
Touchscreen
Einheit <Mathematik>
Softwarewerkzeug
Mereologie
Abstand
Bildschirmsymbol
Versionsverwaltung
Verkehrsinformation
Innerer Punkt
Softwaretest
Videospiel
ATM
Punkt
Mathematisierung
Elektronische Publikation
Binärcode
Rechter Winkel
Bildschirmfenster
Zellulares neuronales Netz
Term
Brennen <Datenverarbeitung>
Innerer Punkt
Telekommunikation
Subtraktion
Punkt
Prozess <Physik>
Browser
Gruppenoperation
Kartesische Koordinaten
Gebäude <Mathematik>
E-Mail
Binärcode
Systemplattform
Kontextbezogenes System
Knotenmenge
Bildschirmfenster
Total <Mathematik>
Volumenvisualisierung
Thread
E-Mail
Bildgebendes Verfahren
Elektronische Publikation
Default
Systemplattform
Vektorraum
Quick-Sort
Rechter Winkel
Versionsverwaltung
Telekommunikation
Offene Menge
Decodierung
Gewicht <Mathematik>
Punkt
Content <Internet>
Zahlenbereich
Abgeschlossene Menge
Kartesische Koordinaten
Gebäude <Mathematik>
Code
Physikalische Theorie
Informationsmodellierung
Datenreplikation
Flächeninhalt
Skript <Programm>
URL
Softwaretest
Softwareentwickler
Computersicherheit
Default
Browser
Systemplattform
p-Block
Kontextbezogenes System
Quick-Sort
Einheit <Mathematik>
Versionsverwaltung
Instantiierung
Quader
Schreiben <Datenverarbeitung>
Kartesische Koordinaten
Bildschirmfenster
Raum-Zeit
Kontextbezogenes System
Template
Intel
Komponente <Software>
PERM <Computer>
Zusammenhängender Graph
Softwareentwickler
Elektronische Publikation
Datenmodell
Indexberechnung
Physikalisches System
Kontextbezogenes System
Ereignishorizont
Web log
Arithmetisches Mittel
Bildschirmmaske
Rechter Winkel
Einheit <Mathematik>
Gamecontroller
Wort <Informatik>
Speicherabzug
Bitrate
Bit
Konfiguration <Informatik>
Punkt
Momentenproblem
Fortsetzung <Mathematik>
Kartesische Koordinaten
Template
Turtle <Informatik>
Komponente <Software>
Prozess <Informatik>
Gamecontroller
Total <Mathematik>
Bildschirmfenster
Notepad-Computer
Flächeninhalt
Emulator
E-Mail
Datennetz
Gebäude <Mathematik>
p-Block
Ereignishorizont
Rechenschieber
Knotenpunkt
Rechter Winkel
Einheit <Mathematik>
Schlüsselverwaltung
Versionsverwaltung
Telekommunikation
Mathematisierung
Automatische Handlungsplanung
Interaktives Fernsehen
Zahlenbereich
Gebäude <Mathematik>
Nummerung
E-Mail
Systemplattform
Physikalische Theorie
Kontextbezogenes System
Virtuelle Maschine
Informationsmodellierung
Netzbetriebssystem
Passwort
Turm <Mathematik>
Passwort
Softwareentwickler
Analysis
Normalvektor
Fehlermeldung
Elektronische Publikation
Systemplattform
Indexberechnung
Quick-Sort
Dreiecksfreier Graph
Web-Designer
Modelltheorie
Telekommunikation
Bit
Web Site
Protokoll <Datenverarbeitungssystem>
Güte der Anpassung
Kartesische Koordinaten
Vektorraum
Binder <Informatik>
Kontextbezogenes System
Physikalische Theorie
Quick-Sort
Internetworking
Objekt <Kategorie>
Teilmenge
Informationsmodellierung
Rechter Winkel
Bildschirmfenster
Skript <Programm>
Thread
Installation <Informatik>
Normalvektor
Softwareentwickler
Zeichenkette

Metadaten

Formale Metadaten

Titel Building Desktop Apps with Ember and Electron
Serientitel Ember Conf 2016
Autor Rieseberg, Felix
Lizenz CC-Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen und nicht-kommerziellen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen und das Werk bzw. diesen Inhalt auch in veränderter Form nur unter den Bedingungen dieser Lizenz weitergeben.
DOI 10.5446/34688
Herausgeber Confreaks, LLC
Erscheinungsjahr 2016
Sprache Englisch

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract You may have seen apps like Slack, Visual Studio Code, or Docker's Kitematic: desktop applications written using Node.js and Chromium. You might be hoping to build something similar. Electron was originally built for the Atom editor, and enables developers to build beautiful cross-platform apps using the JavaScript we all love. When combined with Ember, you're looking at a fantastic desktop app development framework. Ember and Electron are a match made in heaven, and this talk will teach you all you need to know to get started building desktop apps with Ember.

Ähnliche Filme

Loading...
Feedback