この短い投稿では、アプリケーションで作業するプロセスについて説明します。使用するプラットフォーム、テクノロジー、APIを選択し、ソースコードへのリンクを提供します。
正直に言うと、これが必要かどうか長い間疑っていました。 自分自身で判断してください-トレーニングモバイルアプリケーションが何であっても、Haskellでコードを簡単に記述したり、Linuxターミナルに12個または2個のコマンドを入力したりすることは一切機能しません。 したがって、Stapikの機能を完全に伝えるだけでなく、ユーザーのトレーニングの多様化と改善に役立つアプリケーションについては話していませんでした。
よく聞かれますが、なぜWindows Phone用のアプリケーションがないのですか?
開発の開始時(2015年9月)、Stepic.orgのモバイルOS統計は次のとおりでした。
- Android-51%
- iOS-47%
- Windows Phone-¯\ _(ツ)_ /¯ユーザーの3%未満。
同時に、 Stepic.orgユーザーの11%がモバイルデバイスから来ました(6%がタブレット、5%が電話)。
AndroidとiOS向けのアプリケーションを作成することが決定されるとすぐに、開発者もいました: Kirill MakarovとAlexander Karpov 、Higher School of Economicsのコンピューターサイエンス学部の学生、Stepic.orgのインターン、彼はモバイルアプリケーションも大学の学期論文として数えます。
アプリケーション自体に関する詳細
主な機能はStepic.org REST APIを使用して実装され、承認はOAuth 2を使用して実行されます。たとえば、iOSは下のタブを使用し、Androidはナビゲーションドロワーを使用するなど、設計をネイティブにすることが決定されました。 ところで、誰でもこれを繰り返すことができます:OAuthアプリケーション登録-stepic.org/oauth2/applications/、API 自動ドキュメント-stepic.org/api/docs/
Android
アプリケーションでビデオを再生するために、ユーザーにお気に入りのプレーヤーでビデオを再生する機会を与えることが決定されました 。 もちろん、これはプレーヤーに欠点があるという事実につながります。たとえば、一部のプレーヤーは、ビデオの再生速度を調整する機能をサポートしていません。これはオンラインコースの表示に役立ちます。 この機能が重要な場合は、Androidビデオプレーヤー用のオープンソースVLCを使用することをお勧めします。 Androidアプリケーションは、 Google Material Designのガイドラインに従って作成されています 。 Dagger 2.0は 、依存性注入に使用されます 。その利点は、 ここにあります 。 APIを使用するには 、 Retrofitを使用します。これにより、新しいAPIメソッドを1行で追加できます。 プロジェクト内のイベントを管理するために、 Ottoが使用されます。これにより、このインターフェイスが存在しなくなったときにユーザーインターフェイスの更新に関連する多くのエラーが回避されます。
iOS
APIを使用するために、 AlamofireおよびSwiftyJSONライブラリが 使用されました 。 データベースにデータを保存するには、コアデータが使用されます。 AutoLayoutを使用するために、非常に便利なFLKAutoLayoutフレームワークを使用しました。 モバイル分析には、 Crashlyticsが使用されます。
アプリケーションは何ができますか?
テキストとビデオの資料を表示したり、それらをダウンロードしてオフラインで表示したりできます。 また、コースの説明を表示してサインアップし、ユーザープロファイルを表示することもできます。 すぐに、いくつかのタイプのタスクを解決する機能が追加されます。 更新は平均して2週間ごとに行われます。
アプリケーションは無料でダウンロードできます。フィードバックをお待ちしています。
- iOS: https : //itunes.apple.co m / ru / app / stepic.org / id1064581926
- Android: https : //play.google.com/store/apps/details?id=org.stepic.droid
ところで、アプリケーションのソースコードは公開されています。
- iOS: https : //github.com/StepicOrg/stepic-ios
- Android: https : //github.com/StepicOrg/stepic-android