Entwicklungsumgebung / NodeJS

Hier wird über die Entwicklung von Skills diskutiert.
Antworten
Benutzeravatar

Themenstarter
luigidc
Beiträge: 523
Registriert: Mi 21. Dez 2016, 11:33
Wohnort: Hamburg
Vorhandene Echos: 1
Vorhandene Echo Dots: 2

Mi 15. Mär 2017, 11:20

Moin zusammen,

ich frickel jetzt seit zwei Tagen daran, mir eine komfortable Umgebung zur Entwicklung eines Skills mittels NodeJS unter Windows einzurichten und kriege es nicht wirklich gebacken, weil ich mit NodeJS, npm oder github vorher noch nichts am Hut hatte. Das ganze sollte zudem AWS-konfrom sein, weil dort zunächst gehostet werden soll.

Alles für sich alleine läuft problemlos, nur das Zusammenspiel ist chaotisch und willkürlich.
Mir fehlen die Kniffe zum Debuggen (mocha chai?), Deployen (keine dev-Abhängigkeiten; AWS-ready so zu sagen) und auch Committen (wie z.b. verhindern, das API-KEYS auf github landen, wenn nicht manuell?).

Ein paar Schilderungen wie Ihr das so handelt würden mir wahrscheinlich schon weiterhelfen. Als ganz banaler Anfang: Wie ist Euer Projekt-Verzeichnis aufgebaut?

Als konkrete Frage wäre da zum Beispiel noch, auf welchem Package Euer Skill basiert: alexa-app oder alexa-sdk? Alle Anleitungen zu Entwicklungsumgebungen (sogar auf Amazon) basieren noch auf alexa-app. Viele konkrete Skill-Beispiele, die ich mir schon angeschaut hatte wiederum auf alexa-sdk..
Ich habe übrigens auch schon viele Anleitungen durchgelesen, welche ich jedoch nicht auf einen Nenner bringen konnte, da teils sehr stark veraltet.
Unter anderem habe ich auch den alexa-app-server problemlos inkl. Samples zum Laufen bekommen, um lokal zu testen, aber der wird wohl nur alexa-app unterstützen, oder? Nutzt den jemand?

Es geht mir also weniger um Entwicklung und Code an sich, sondern nur um die Umgebung. Vielleicht habt Ihr ein paar Tipps für mich.
0 x
Benutzeravatar

Fonzo
Beiträge: 1690
Registriert: Fr 24. Feb 2017, 00:06

Mi 15. Mär 2017, 11:48

Ich nutze Webstorm, sourcetree, und den Alexa SDK bzw. eigene Sachen in PHP.
0 x
Benutzeravatar

amartin
Beiträge: 117
Registriert: Sa 4. Feb 2017, 19:12
Vorhandene Echos: 1
Vorhandene Echo Dots: 1

Mi 15. Mär 2017, 12:03

Ich hoste während der Entwicklung meine Skills auf einem Pi.

Dafür verwende ich

- noip.com (dyndns)
- self signed ssl certificate
- http://expressjs.com/
- https://github.com/SamVerschueren/aws-l ... ck-context
- https://github.com/alexa/alexa-skills-k ... for-nodejs
- https://github.com/aws/aws-sdk-js (um die DynamoDB anzusprechen)

Klappt auch total super, wenn ich fertig bin pack ich den Skill in eine Zip Datei und schieb ihn auf AWS hoch und ändere im Skill den Endpunkt.

Gruß,
Alex
0 x
Benutzeravatar

Themenstarter
luigidc
Beiträge: 523
Registriert: Mi 21. Dez 2016, 11:33
Wohnort: Hamburg
Vorhandene Echos: 1
Vorhandene Echo Dots: 2

Mi 15. Mär 2017, 12:40

Das hört sich beides gut an - auch in Kombination. Auf die Idee nach 'ner JS-IDE zu schauen war ich noch gar nicht gekommen :)

@fonzo und wie debugst Du lokal? oder schiebst Du jedes Mal alles hoch?

@amartin die Idee als solches ist gut, weil man Slots etc. direkt über das Skill-Testing durchführen kann. Ich muss mal schauen wie ich das über meine Synology zum Laufen bekomme. Dyndns & ssl sind eh vorhanden und NodeJS gibt's dafür auch.
0 x
Benutzeravatar

Fonzo
Beiträge: 1690
Registriert: Fr 24. Feb 2017, 00:06

Mi 15. Mär 2017, 14:07

luigidc hat geschrieben:
Mi 15. Mär 2017, 12:40
wie debugst Du lokal? oder schiebst Du jedes Mal alles hoch?
Du kannst lokal debuggen insofern alle Abhängigkeiten auch lokal sind da musst Du nicht jedes mal hochschieben. Du siehst den JSON Response genauso wie in AWS.
0 x
Benutzeravatar

Themenstarter
luigidc
Beiträge: 523
Registriert: Mi 21. Dez 2016, 11:33
Wohnort: Hamburg
Vorhandene Echos: 1
Vorhandene Echo Dots: 2

Do 16. Mär 2017, 10:36

Ok, stimmt. Reines code debuggen geht. Wie gesagt, der Umgang mit nodejs ist für mich Neuland.

Bei Tests mit Sessions hört es dann ja aber auf oder wie würde das gehen?

Unterstützt der Alexa Skill Service Simulator eigentlich Sessions?
0 x
Benutzeravatar

Themenstarter
luigidc
Beiträge: 523
Registriert: Mi 21. Dez 2016, 11:33
Wohnort: Hamburg
Vorhandene Echos: 1
Vorhandene Echo Dots: 2

Fr 17. Mär 2017, 12:03

So, ich habe mich jetzt schlicht für atom.io entschieden. Für meine Belange völlig ausreichend und durch die packages gut erweiterbar.
Reines debuggen dann lokal mit statischem request.
Und dank build package und aws-cli ist die Lambda-Funktion mit einer einzige Tastenkombi ohne manuelle Eingaben auch in Sekunden aktualisiert.
0 x
Benutzeravatar

Fonzo
Beiträge: 1690
Registriert: Fr 24. Feb 2017, 00:06

Mi 22. Mär 2017, 10:48

luigidc hat geschrieben:
Fr 17. Mär 2017, 12:03
So, ich habe mich jetzt schlicht für atom.io entschieden. Für meine Belange völlig ausreichend und durch die packages gut erweiterbar.
Reines debuggen dann lokal mit statischem request.
Und dank build package und aws-cli ist die Lambda-Funktion mit einer einzige Tastenkombi ohne manuelle Eingaben auch in Sekunden aktualisiert.
Welche Packages hast Du denn alles installiert um sinnvoll mit Atom zu arbeiten?
0 x
Benutzeravatar

Themenstarter
luigidc
Beiträge: 523
Registriert: Mi 21. Dez 2016, 11:33
Wohnort: Hamburg
Vorhandene Echos: 1
Vorhandene Echo Dots: 2

Mi 22. Mär 2017, 11:33

Aktuell habe ich lediglich folgende Community-Packages installiert:
termination - für eine integrierte Konsole im aktuellen Pfad
node-debugger - der Name spricht für sich ;)
build - zur Zeit zippe ich damit nur den src-Ordner und aktualisiere damit die Lambda-Funktion (aws-cli)
0 x
Antworten

Zurück zu „Fähigkeiten (Skills) entwickeln“

  • Information