Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
AkafukuとAngular2で行う基幹システム開発
hatappi
July 31, 2016
Technology
0
1.1k
AkafukuとAngular2で行う基幹システム開発
SpeeeKaigi#1
hatappi
July 31, 2016
Tweet
Share
More Decks by hatappi
See All by hatappi
hatappi
0
300
hatappi
2
1.1k
hatappi
0
96
hatappi
2
240
hatappi
1
580
hatappi
0
770
hatappi
2
1.4k
hatappi
1
1.2k
hatappi
1
370
Other Decks in Technology
See All in Technology
conciergeu
0
160
koukyo1994
3
440
nisshii0313
1
150
kanaugust
PRO
0
140
viva_tweet_x
3
2.7k
picardparis
4
2.3k
pakio
0
120
karabish
0
220
lancers_pr
4
1.5k
yuzutas0
8
2.9k
sadayoshitada0919
0
280
mmarukaw
0
1.9k
Featured
See All Featured
marcelosomers
221
15k
sugarenia
233
850k
keathley
20
700
lauravandoore
10
1.5k
tammielis
237
23k
eitanlees
112
10k
jlugia
217
16k
zenorocha
296
40k
brettharned
93
3k
lemiorhan
627
43k
mthomps
38
2.3k
philhawksworth
190
17k
Transcript
ͱAngular2Ͱߦ͏جװγεςϜ։ൃ גࣜձࣾSpeee ։ൃ෦ WM։ൃϢχοτ ാத༔࡞
ࣗݾհ •ാத ༔࡞ • גࣜձࣾSpeee •ओʹRailsॻ͍ͯ·͢ɻ • Twitter: @hatappi •
Github: hatappi • facebook: hatappi
ࠓ͢͜ͱ •ݖݶཧγεςϜ •Angular2 + Rails ApiͰͷ ΞϓϦέʔγϣϯ࡞
ݖݶཧγεςϜ
ݱঢ়ͷݖݶཧ ࢲͷࣄۀ෦ͰෳͷϓϩμΫτ͕ ੜΈग़͞Ε͍ͯΔ •ੲPHPͰ ͔͔ΕͨϓϩμΫτ ଟ •RailsͰ͔͔Εͨ ϓϩμΫτɻ PHP͔ΒϦϓϨΠε ͍ͯ͠Δͷ͋Δ
ݱঢ়ͷݖݶཧ hatappi hoge admin hatappi guest hoge admin hatappi admin
ݖݶཧ֤ΞϓϦέʔγϣϯ͝ͱʹ APP1 APP2
ݖݶཧ༻ͷαʔϏε࡞Δʁ
͕ɾɾɾ
None
GoogleAppsͰ ղܾͰ͖ΔͷͰʁ
GoogleApps ? •99.9% ͷՔಇ͕อূ͞Εͨ Google ͷఏڙ͢ ΔάϧʔϓΣΞ •WebͰͷπʔϧఏڙʹͳΔͷͰΠϯλʔωοτ ʹଓͰ͖͍ͯΕ༻Λ͡ΊΔ͜ͱ͕Ͱ͖ Δ
ݖݶAPIΛ࣮ݱ͢ΔͨΊʹ Spread Sheet Apps Script σʔλιʔεͱͯ͠༻ ϢʔβʔͱΞϓϦέʔγϣϯͷ ݖݶΛཧ SpreadSheetͷૢ࡞ʹ༻ ·ͨExecution
APIʹΑΓAPIͷػೳ ఏڙ
ߏਤ voyager markeshi p hoge admin admin fuga guest admin
hatappi admin guest ɾɾɾ ϦΫΤετʹԠͯ͡ σʔλΛऔΓग़͢ ϨεϙϯεΛ JSONͰ͔͑͢ APP1 APP2
ߏਤ voyager markeshi p hoge admin admin fuga guest admin
hatappi admin guest ϦΫΤετʹԠͯ͡ σʔλΛऔΓग़͢ ϨεϙϯεΛ JSONͰ͔͑͢ JSONͷϨεϙϯεͷॲཧͳͲ ֤ΞϓϦέʔγϣϯʹʁʁʁ ɾɾɾ APP1 APP2
Akafuku
Akafuku? ݖݶཧgem ࡞ͨ͠GoogleAppsScriptͷAPIͷ ϨεϙϯεΛΑ͠ͳʹѻͬͯ͘ΕΔɻ ඞཁͳใARϥΠΫʹऔΓग़͢ ͜ͱ͕ग़དྷΔɻ require 'akafuku' Akafuku.find(‘hoge@example.com’) =>
#<Akafuku:0x007fff2b378340 @authorites={"app1"=>"guest", "app2"=>2}, @post=1, @employment=1, @department=7>
Akafukuͷࢫຯ •ΞϓϦέʔγϣϯଆͰͷߋ৽ର Ԡbundle update •εϓϨουγʔτΛΓସ͑Ε ଞࣄۀ෦ͷԣల։Մೳ
ݖݶཧͷ·ͱΊ •αʔόʔϨεͰ ݖݶཧAPIͷ࡞ •gemΛ࡞͢Δ͜ͱͰࠓޙͷΞ ϓϦέʔγϣϯͷಋೖͷ͠ ͢͞Λఏڙ
Rails5 (Api mode) + Angular2
Rails5
Rails5 (api mode) assetsviewhelperͳͲapiͰඞ ཁͷͳ͍ͷ͕ফ͍͑ͯΔɻ cookieͱ͔sessionपΓͳ͍
Angular2
Angular1ͱશ͘ผΒ͍͆͠
ཪΛฦͤ1ΛΒͳͯ͘ 2͔ΒೖΔ͜ͱ͕ग़དྷΔ
ॲཧͷ্ Angular1ܥͷ࣌ΑΓ2.7ഒͷε ϐʔυ͕ग़Δͱͷ͜ͱ
ίϯϙʔωϯτࢦ UIύʔπ͝ͱʹׂ ϓϩύςΟΠϕϯτϋϯυϥͳͲ Λίϯϙʔωϯτͷதʹ·ͱΊΔ ίϯϙʔωϯτ࠶ར༻͕Մೳ
TypeScript͕ਪ ੩తܕ͚ݴޠͷίϯύΠϧΤϥʔ ͰTyposyntaxΤϥʔʹ͖ͮ͘͜ͱ ͕ग़དྷΔɻ IDEͰܕใ͔Βͷิػೳ͕ ༻͢Δ͜ͱ͕ग़དྷΔ
Angularͷબఆʹ͋ͨͬͯ ֶशίετߴΊ͕ͩɺඞཁͳػೳ ϏϧυΠϯ͞Ε͍ͯΔͷͰɺҰ ֮͑ͯ͠·͑ɺ։ൃʹूதͰ͖Δ ࣾʹAngularΛ͔͍͍ͯͨํ͕͍ ͨ ↑ ͳΜ͔ͩΜͩͰܾΊͯίίେ ͖͔ͬͨ
FrontͱBackΛΘ͚Δͱ •ϦϙδτϦ͝ͱ͔ΕΔͷͰɺσϓϩΠ͕ํ ʹࠨӈ͞Εͳ͍ •ԾʹAngular͕ବʹͳͬͨͱͯ͠FrontͷΈ Λվम͢Δ͜ͱͰରԠ͕Ͱ͖Δ •ೝূपΓʹ͕ඞཁ
FrontͱBackΛΘ͚Δͱ •ϦϙδτϦ͝ͱ͔ΕΔͷͰɺσϓϩΠ͕ํ ʹࠨӈ͞Εͳ͍ •ԾʹAngular͕ବʹͳͬͨͱͯ͠FrontͷΈ Λվम͢Δ͜ͱͰରԠ͕Ͱ͖Δ •ೝূपΓʹ͕ඞཁ
ೝূʹ͋ͨͬͯ Rails Apiʹsessioncookieؔ࿈͕ͳ͍ͷͰɺ ࠓ·ͰͷΑ͏ͳcookieʹใΛ อ࣋͢ΔΑ͏ͳ͜ͱ͕ग़དྷͳ͍ɻ TokenBased Auth
TokenBased Auth
ॴײ •Angular2ָ͍͠!! ͲΜͲΜνϟϯδ͍ͯ͜͠͏ •gemԽ͓ͯ͘͠ͱԿ͔ͱศར
͓ΘΓ