モバイルアプリケーションは「 ビッグブラザー 」機能に準拠する必要がなかったため、HTML5で開発することにしました。
開発言語の選択について
デフォルトでは、プログラムには大きな機能がロードされてはならず、少なくともiOSとAndroidで動作するはずです-HTML5で動作するように決定されました。 これから、賛否両論が続きます。
長所:
+ 1つのアプリケーションを記述します-iOS、Android、およびJSとHTML5をサポートする他のすべてで動作します(少なくともブラウザーから直接送信します)。
+高速開発;
+開発の容易さ;
+既製のフレームワークの可用性。
+は、アプリストアとAndroidマーケットのアカウントを必要としません。
短所:
-Androidの低速;
-プラットフォームAPIを使用することは不可能です。
-アドレス帳へのアクセスなし。
-仕事のためにサーバーへのデータ転送のみを使用して、アプリケーションを完全にオフラインで転送することは不可能です(詳細は以下を参照)。
-アプリストアとAndroidマーケットにアプリケーションが存在しないため、アプリケーションの異常なインストール。 アプリケーションは、アドレスバーからホーム画面に追加することで「インストール」されます。 アイコンが存在します。
katom写真と多くのテキストの下。
フレームワークの選択について
開発のための最もシンプルで最も理解しやすいものは、 jQuery Mobileフレームワークであることが判明しました。 最初は、アプリケーションの基礎として採用されました。 しかし、アプリケーションを作成する過程で、iPadでのみ正常に動作し、iPhoneでは画面を変更すると速度がかなり遅くなることが判明しました。 Androydの電話は一般に長時間フリーズし、SMSを正常に送信できませんでした。 たぶんこれは当時のjQmobileの初期バージョンによるものか、何か間違ったことをしたのでしょう(しかしマニュアルで何かをしました)。 一般的に、最後まで明確ではありません。
jQtouchをテストするときにも同じ問題が発生します。 同じ使いやすさ、同様のコンポーネント、スタイル。 iPadとiPhoneですべてが正常に機能しました。 Androydはst迷に陥り、アニメーション(キューブなど)は再生を拒否し、一般的には使用を推奨していません。
iScroll 、 Slabletなどの単一のフレームワークを回転させて、 iToggleやTouchWipeなどの個々のコンポーネントを挿入して、タッチスクリーンでのアクションをシミュレートします。コードやインタラクションで競合が発生するだけでなく、かなり頭を痛めます。 そして、私は一つのこと、一度にすべてに加えて、汎用性が欲しい。
同様のトピックを探しているハブのShurstyaは、 eDissideNTからの3つの投稿を偶然見つけました。 それらの中で、彼はSencha Touchについて詳しく話してくれました。彼に特に感謝しています。
私にとっては、Flash開発者として、JSのオブジェクトの微調整はすべて少し理解しにくいものだったので、構造を掘り下げてレッスンを確認しました。 SenchaでもjQmobileと同じことを書きました。すべてのデバイスで何倍も速く動作します。 そこで、Senchaに立ち寄りました。Senchaには、既製のアプリケーションがたくさん書かれています。また、サンプルとソースコードを含む優れたドキュメントもあります 。
プログラム構造について
このパートでは、プログラムのスクリーンショットを提供し、主な機能について説明します。
私たちのプログラムはOTP認証を使用しています。 これは、メール、連絡先の詳細、その他すべてを入力することにより、ユーザーを登録から救うために行われます。
番号を入力し、「キーを取得」をクリックしました。
![](https://habrastorage.org/storage1/edb6c6e1/a5fe176b/4120da86/bf9eecf3.png)
彼らはSMSに送信されたコードを確認しました(だから誰もあなたの携帯電話を通して登録しないでしょう):
![](https://habrastorage.org/storage1/5ed2f2dd/3e089643/2ee2f49d/6c8f57ee.png)
そして、すぐにSMSの送信を開始できます。
![](https://habrastorage.org/storage1/4a13db48/7eeee24a/8d5699db/057cca65.png)
デフォルトでは、「差出人」フィールドには電話番号が含まれています。 つまり、SMSがクールダウンしているサブスクライバーは、ユーザーからメッセージを受け取ります。 必要に応じて、サポートサービスを通じて無料で送信者名を追加できます。
![](https://habrastorage.org/storage1/a29bcd46/21e4f6be/5fc41fce/d8ab6728.png)
設定パネル:
![](https://habrastorage.org/storage1/d2724f6a/c5d42d03/2aa48e4b/348207c5.png)
パスワード保護を有効にすると、パスワードを入力しないとアプリケーションを起動した後の操作ができなくなります。
プログラムをもう使用しないか、一時的に使用するために誰かに電話やタブレットを渡すことを決定した場合は、アカウントの誰かが誤って「無料」SMSにお金を費やさないように設定をリセットできます。
残高を補充するには、QIWIウォレットとの相互作用を使用します。
![](https://habrastorage.org/storage1/bf11ffc5/31916c4a/2147c136/f765fc1f.png)
QIWI Webサイトで承認のための電話番号を示して必要な金額を請求し、残高で請求書とお金をすぐに支払います。 WMを介して補充することは可能ですが、これまでのところ自動的にはできません。
![](https://habrastorage.org/storage1/af9121dd/cd2da71f/bd8cc832/dffc7ae9.png)
ストーリーのこの部分では、いくつかの重要な点に注意する必要があります。
-いかなる状況でも、入力された電話番号は広告やその他のスパムに使用されません。
-電話は第三者に転送されません。
-番号に対してSMSサブスクリプションは発行されません。
電話は、登録しているのはあなたであり、あなたの番号を知っている隣の入り口からのPetyaではないことを確認するためにのみ必要です。 利点は、システムのプログラムを介して登録すると、このアプリケーションだけでなく、システムのデスクトップおよびWebインターフェイスでも使用できるアカウントが自動的に作成されることです。 知る必要があるのは、秘密鍵だけです。秘密鍵は、サポートサービスを通じて取得できます。
技術的な部分と既知の問題について少し
電話、パスワード、秘密鍵など、アプリケーションに入力されたすべてのデータは、デバイスのLocalStorageに保存されます。 必要に応じて、プログラムを使用して削除したり、設定をリセットしたり、開発者モードのSafariなどの手動で削除したりできます。
一見単純なアプリケーションを開発する過程で、他のPLの後にいくつかの異常な機能を処理する必要がありました。 コミュニティが既に開発者の観点からその構造を確認したい場合は、このアプリケーション自体の実装の例、およびコードとコメントを使用した段階的な作成を見てください-コメントまたは講義でお知らせください。 ロシアの一般原則は長い間述べられてきたので、具体的な例は十分ではありません。
プログラムが面白い場合-PhoneGapをねじ込んですべてとやり取りし、アプリケーションを完全にオフラインで転送し、各プラットフォームのスタイルとレイアウトを調整することができます(次の段落から)。
Androidの場合、画面が3.7 +公式ファームウェアの電話が使用され、軸バージョンは2.2です。
私はアンドロイドで何を言うことができます(既知のエラーと欠点):
-インターフェースは小さく、ズームする必要がある場合があります。
-ポートレートモードでは-ページはウィンドウの高さだけですが、ランドスケープでは-下にスクロールして、送信フォームの約2つの高さが表示されます。 少なくとも指でどこかに移動するためにページをズームすると、ズーム後に空白になってしまうことがあります。
アプリケーションの開発時には、次の資料が使用されました。
Sencha Touchチュートリアル1:最初のステップ
Sencha Touchチュートリアル2:Ext.Panel-レイアウト
Sencha Touchチュートリアル3:イベント
プログラムへのリンク: iProfisender