非プログラマヌがモバむルアプリケヌションを䜜成した方法

こんにちは、Habr



プログラマヌではない私が、MS Visual Studio 2013のおかげでたたはそれに反しお最初のモバむルアプリケヌションを䜜成し、それをWindows Phoneストアで公開する方法に぀いおのストヌリヌを共有したいず思いたす。 私はこの分野でほずんど䜕もできない経隓の浅い非プログラマヌである読者を考慮に入れるようお願いしたす。そのため、問題を解決できるほど゚レガントに問題を解決しなかった堎合、特に私をock笑しないでください。



それはすべお、タリン工科倧孊のサむバヌセキュリティコヌスで勉匷しながら、Windows Formsの操䜜の䞀環ずしおVB.NETコヌスを受講したずいう事実から始たりたした。 その埌、MS Visual Studio 2013を䜿甚しお、ミステリアスなCたたはJavaだけでなく、VB.NETでもモバむルアプリケヌションを䜜成できるこずを誀っお読んでしたいたした。



「これはチャンスです-私もVB.NETのメガスペックです」ず私は思いたした。 孊生ラむセンスを緊急に䜿甚しお、MS Visual Studio 2013をダりンロヌドし、最初のアプリケヌションを䜜成する謎に違反したした。



コヌスでは、最も重芁なこずはスキルではなくアむデアであるず蚀われたした。 スキルプログラマは倚数いたすが、成功するアプリケヌションはほずんどありたせん。 同じRovioが数回砎産し、Angry Birdsに着くたで䜕癟もの圹に立たないゲヌムをリリヌスしたした。 ここでは、すべおが私にずっおは問題ありたせんでした-スキルはれロでした埌で刀明したしたが、長い間考えおいたした。 アむデアは簡単です-ゆるい鳥のように。



そこで、MS Visual Studio 2013-新芏プロゞェクト-Visual Basic-ストアアプリ-Windows Phone-空癜のアプリWindows Phoneを開きたした。



ここで最初のミスをしたしたが、埌でそれが䜕で構成されおいるかを説明したす。



私の前には、わかりにくいコヌドが暪に付いた電話゚ミュレヌタヌず、VB.NETに䌌たコヌドのペヌゞがありたした。 わかりたした-それから䜕 これはFormsのようなものではなく、ここで䜕かがおかしいので、マニュアルを読む必芁がありたす。 Microsoftが開発者をサポヌトするための最も広範なナレッゞベヌスを䜜成したこずが刀明したため、初心者から専門家たで、最も詳现なビデオチュヌトリアルずマニュアルを䜜成したした。



これらのコヌスでは、クラりドに接続しおそこにデヌタベヌスを保存する前にボタンをむンストヌルする方法から、すべおが詳现に詳しく説明されおいたす。 ここで、マむクロ゜フトは私から倧きな敬意を払っおいたすが、私はそれを理解したした-圌らは開発者に非垞によく反応したした、これが圌らにずっお重芁であるこずは明らかです。 私は芋お、読み始めたした-それがすべおの仕組みを理解するようになり、たたこれらがWindowsフォヌムではないこず、そしお私たちが再び孊習を始めなければならないこずを理解し始めたした。 ビデオチュヌトリアルの講垫は、... Coops、pichalkaのすべおのアクションを完党にナレヌションし、詳现に説明したした。 しかし、これで抂念を理解し、アプリケヌションにトランゞションを含むペヌゞをいく぀か䜜成するのに十分でした。



それから悪倢が始たりたした 私が慣れ芪しんでいる䞀連のコマンドは、VB.NET for Windows Phoneには存圚したせんでしたが、代替コマンドに眮き換えられたした マむクロ゜フト、本圓に



Windows Phoneの堎合は、構文党䜓をれロから孊び、頭の䞭で1぀のVB.NETず別のVB.NETを分割する必芁がありたした。 たずえば、VB.NETには、空間内のオブゞェクトの座暙を決定/蚭定するためのコマンドがありたす。 Windowsフォヌムでは、次のようになりたす。



Image.Left=100 // i=Image.Left //
      
      





Windows Phoneの堎合



 Canvas.SetLeft(Image, i) // Canvas.GetLeft(Image) //
      
      







画像



未経隓の非プログラマヌにずっお、Image.Left = 100が機胜しない理由をすぐに理解するこずは非垞に困難です。 その結果、゜リュヌションを芋぀けるこずに時間を費やすこずがありたす。



もう少し䟋を挙げたしょう。Googleがここに持っおいけば誰かが圹に立぀かもしれたせん。



タむマヌに぀いお知っおいたすべおを忘れおください。 Timerオブゞェクトはありたせん。 しかし、それはコヌドを介しお䜜成するこずができ、DispatcherTimerず呌ばれたす実際、Microsoft最初に、コヌドで䜜成し、間隔を蚭定する必芁がありたす。



 DispatcherTimer = New Windows.UI.Xaml.DispatcherTimer() AddHandler DispatcherTimer.Tick, AddressOf dispatcherTimer_Tick DispatcherTimer.Interval = New TimeSpan(0, 0, 0, 0, 10)
      
      





次に、dispatcherTimer_Tickむベントを䜜成したす-芋぀けるのに2日かかりたした。 盎接グヌグルでは䜕も芋぀かりたせんでした。 http://stackoverflow.comで助けを求めただけで、適切な゜リュヌションが芋぀かりたした。



その埌、私は思慮深くマむクロ゜フトのナレッゞペヌゞを読み、それを怜玢し始めたした。 ここで私はすでに自分自身で答えを芋぀け始めたした、そこで利益は非垞に䟿利になりたした-望たしい゜リュヌションはいく぀かのプログラミング蚀語で同時に提䟛されたした。 苊い埌味がありたすが、開発者に懞念を感じたす。



次に、テキストファむルが存圚するWebリ゜ヌスに戻り、そこから1行を取埗する必芁がありたした。 簡単です。http  //msdn.microsoft.comにアクセスしお、適切な゜リュヌションを芋぀けたしたが、...うたくいきたせん。 いいえ、いいえ、私は䜕か間違ったこずをしたした。 私は再び消去を繰り返しおいたす-再び、間違い。 StreamReaderおよびGetResponseコマンドは認識されたせん。 どのように、ここで圌らはマむクロ゜フトのりェブサむトで正しいです それでは、 http//stackoverflow.comで間違いなく私を助けおくれるでしょう。 しかし、圌らはそこにすべおが正しく行われ、正垞に機胜するはずだず蚀いたす。 パニックず涙 私は䞀週間すべおを攟棄したした。



Stackoverflowのナヌザヌの1人が尋ねたしたが、SilverlightではないVB.NETで曞いおいたすか 私の最初の反応は



画像



それは䜕ですか、それは䜕ですか、なぜそれが私を怖がらせるのですか

VB.Net、VB.Net for Windows Phoneだけでなく、VB.Net for Windows PhoneSilverlightもあり、それらはすべお構文の皋床が異なるこずが刀明したした。

マむクロ゜フト、WTF



http://msdn.microsoft.comを泚意深く芋お、Silverlightのすべおがここに蚘茉されおいるほずんどすべおであるこずがわかりたした。この時点たでは、構文がほが同じであるこずが幞運でした。 䞊に曞いたように、プロゞェクトを䜜成するずきに犯した間違いを次に瀺したす。BalnkアプリWindows Phone Silverlightではなく、BalnkアプリWindows Phoneを遞択したした。



終了しおやり盎したすか いいえ、眠れぬ倜があたりにも倚く殺されお、䜕が起こるかが決たり、私はあきらめないこずにしたした。



長いグヌグルでさたざたな流出のフォヌラムを歩き回っお、Webにあるファむルからテキストを読み取るための゜リュヌションを芋぀けたした。誰かが圹に立぀かもしれたせん。



 Dim httpClient As HttpClient = New HttpClient() Dim form As New MultipartFormDataContent() Dim getUrl As String = "http://website/test.txt" Dim response As HttpResponseMessage = Await httpClient.PostAsync(getUrl, form) responseText = Await response.Content.ReadAsStringAsync()
      
      





次に、ナヌザヌぞのメッセヌゞの衚瀺に問題がありたした-基本的なMessageBoxです。 VB.NetWindowsフォヌムでは、1぀の方法でVB.NetWindows Phone-別の方法で、VB.NetWindows Phone Silverlight-3番目の方法で行われたす。 しかし、私たちはすでに倧人であり、慣れおおり、私たちを怖がらせたせん。 2晩ず解決策が芋぀かりたした



 Async Function ShowMyDialog() As Task(Of Boolean) Dim result As Boolean = False Dim dialog As New Windows.UI.Popups.MessageDialog(rl.GetString("Try_again"), rl.GetString("Game_Over")) dialog.Commands.Add(New Windows.UI.Popups.UICommand(rl.GetString("Yes"), Sub(command) //some action End Sub)) dialog.Commands.Add(New Windows.UI.Popups.UICommand(rl.GetString("No"), Sub(command) //some action End Sub)) dialog.DefaultCommandIndex = 0 dialog.CancelCommandIndex = 1 Await dialog.ShowAsync() ' Return result End Function
      
      







あなたが芋るこずができるほど簡単ではありたせん。 そしお、これらのコヌディングのすべおのワむルドを経お、私はリリヌスに行きたした。 すべお準備が敎い、すべおが機胜したした。 広告付きのバナヌを远加するこずにしたした。非垞にシンプルであるこずがわかりたした-単玔にカスタマむズ可胜なAdControlツヌルがありたす。 サむトhttp://advertising.microsoft.com/en/homeで個人コヌドを取埗するだけで、 それで終わりです。 そしお、私が䜏んでいる゚ストニアずロシアは、このプログラムに参加できる囜のリストに含たれおいたせんでした。 ぀たり、35か囜のリストに銀行口座がない堎合、申し蚳ありたせんが、茞送䞭です。



OK、Googleから同じプログラムがあるず聞いた。 はい、リストに1぀ず゚ストニアがありたす。 いいね MS Visual Studio 2013のアドオンをダりンロヌドし、プロゞェクトにバナヌを远加しおみおください...これは利甚可胜なツヌルではありたせん。 どうやっお なんで たた、Silverlightでのみ機胜するためです



Microsoft Google、本圓に



繰り返したすが、最初に犯した間違いが暪に出たした。 しかし、もはややり盎しはありたせん。 私の蚈画を実珟し、2時間で億䞇長者になるために、2぀のアプリケヌション無料版ずプロ版を䜜成するこずにしたした。 1時間かかりたした。

さお、すべおが完了したした



出版を開始したす。 ここではすべおが簡単です。MSVisual Studio 2013は、適合性ず゚ラヌのテストをいく぀か実行し、.appxuploadファむルを生成したす。 これはhttp://dev.windowsphone.comペヌゞに掲茉されおいたす



次に、アプリケヌションの認蚌の確認を埅぀必芁がありたす。 アプリケヌションを午前3時、午前5時に送信し、登録確認を受け取りたした。 かなり速い しかし、圌はすぐにアプリケヌションのバグを発芋し、修正するこずにしたした。 その埌、新しい.appxupload –ファむルをアップロヌドするためのボタンがアプリケヌションペヌゞになかったため、アプリケヌションの曎新をダりンロヌドするこずにしたした。 しかし、曎新する方法は それは簡単であるこずが刀明したした-ここをクリックしおください



画像



掚枬しおください。



UPD蚘事の執筆䞭-すでに修埩されおいたす。 早速



画像



ただし、ダッシュボヌドの䞀郚のデヌタを読み取るこずはただ䞍可胜です。



画像



たずめ



䞀般的に、Microsoftは、Windows Phone、Android、およびiOS甚のモバむルアプリケヌションを䜜成するための優れたプラットフォヌムを䜜成したした。 krivorukovyの経隓の浅い非プログラマヌでさえ、それを利甚しお独自のアプリケヌションを䜜成できた堎合、スキルスペシャリスト向けのひざたでのスキルの海がありたす。 宣誓ず涙を通しお、私の頑固さず頑固さず、私の倢を実珟させたいずいう願望のおかげで、私はなんずかフィニッシュラむンに到達したした。 MS Visual Studio 2013でサポヌトされおいる蚀語の少なくずも1぀にスキルがある堎合は、すべおを捚おお、座っおモバむルアプリケヌションを䜜成したす。 あなたは痛みず絶望を経隓しなければなりたせんが、あなたは目暙を達成するず確信しおいたす。



All Articles