
ご存知のように、Tinkoff.ruのクライアントは銀行の支店ではなく、ウェブサイトやモバイルアプリケーションのインターフェースであるとみなしているため、会社にとってこれら2つのことは特に重要です。 最近、モバイル開発について既に
質問しました。 そして今、Tinkoff.ruの開発者
Aleksey Nosovがプレゼンテーションを行うHolyJS会議の前夜、彼らはJS /フロントエンドについて質問をしました。それはAlexey自身と会社のHRプロジェクトマネージャーである
Olga Shpuntenkoの両方です。
アレクセイ・ノソフ
-入門的な質問:会社で何に取り組んでいますか?-リモートカスタマーサービスプロジェクトに関与しています。 私は社内に顧客がいますが、私たちはサービスの質の向上に戦略的に関与しています。 たとえば、特定のユーザーストーリーに対して特定の数の顧客からの要望が蓄積され、未処理にならず、非常に迅速に実行されます。 既存のプロジェクトを製品の一部としてではなく、カスタマーサービスの一部として常に最適化し、変換に影響を与えます。
-1年前、「新しいTinkoff.ruフロントエンドの開発方法」というhabrapostの下で、会社がReduxの必要性を感じていないことが読めるようになりました。 1年で状況は変わりましたか?-私たちが始めたとき、Reduxはまだ初期段階にあり、どこでどのように開発されるかは明確ではありません。 現在、Fluxを使用しています。これは、アーキテクチャ要件により適しています。 ただし、これはReduxから有用なデータを取得することを妨げません。 欠員では、Reduxを使用する経験が私たちにとって指標であるため、Reduxについて書きます:候補者は、最新のアプリケーションアーキテクチャ、React / Reduxアプリケーションのデータフローを管理する方法について何かを理解しているため、アーキテクチャをすばやく把握します。
-銀行全体とあなたが個人的にRxJSを使用していますが、詳細を教えてください。 最初にその必要性を感じたのはなぜですか? 落とし穴に直面していますか?-テストで使用された特定のRxクラスのタイピングに問題がありました。 RxJS自体は非常に重いですが、適切なアセンブリを選択すると、重量を減らすことができます。 一般に、RxJSは非同期データストリームを操作できるライブラリです。非同期データストリームは配列と見なされ、これらのイベントを生成および消費するアプリケーションコンポーネントを相互接続するためのリアクティブプログラミングパラダイムを実装できます。 Rxを使用すると、純粋な関数を使用して複雑なロジックを数行で実装し、デバッグ段階で起こりうる副作用や問題を取り除くことができます。
Tinkoff for Businessでは、どこでもRxJSを使用しています。 利点はグーグルになります-少なくとも、便利なデータバインディングであり、一方向のデータフローであるため、データの方向に混乱することはありません。 疎結合で忘れられる可能性のあるプロミスとエミッターを使用して最初のAngularで古いアプリケーションを維持することが困難になったとき、RxJSの必要性を感じました。 Angular 2とRxJSでメッセンジャーを書き直したとき、生産性はすぐに向上し、サポートが容易になりました。 落とし穴はありませんが、もちろん、入力のしきい値があります-あなたの思考(いわゆるデータストリーム)を再構築する必要があります。
-バックエンドの中でも、銀行はScalaを積極的に使用していることで知られていますが、これはかなり珍しいことですが、フロントエンドのテクノロジースタックには予想外のものがありますか?-エキゾチックをもたらすという目標はありません。多くの新しい人々がプロジェクトに参加します。時間を浪費してジャングルの中を歩き回らせたくありません。 トレンドの人気のあるアプローチを使用していますが、実験中です。 たとえば、機能的なアプローチでは、ramdaライブラリ(lodashの代替)を使用します。
-HolyJSに関するレポートに期待することは何ですか?-私はコブレイジングについて話します-コールセンターのオペレーターに対するクライアントの画面のデモンストレーションです。 レポートのタイトルは「簡単な方法」ですが、タンボフの祖母にアマゾンの株式を購入する方法を説明するのは簡単ではありません。 私は技術的な詳細を開示しません、レポートに来てください:)
オルガ・シュプンテンコ
-Tinkoff.ruは非常に典型的な銀行ですが、この異常性はJS開発にどのように影響しますか?-具体的には、最初にMVPを実行し、アイデアをテストし、それが発覚した場合、さらに最適化して開発します。
このような興味深い妥協点があります-一方では、すぐにテストされたアイデアを簡単に開発できるように、そのようなコードを作成する必要があります。 同時に、セキュリティ要件を厳密に遵守する必要があります-私たちは金融組織であり、クライアントの個人データを操作しますが、これにはすべて追加の制御が必要です。 一方、美しいアカデミックコードを記述しても、アイデアがテストに合格しない場合は、捨てるだけで、辱的です。
私たちの優先事項はインターフェイスのパフォーマンスです。 テストフェーズが既に完了している場合、もちろん、可能な限りすべてを最適化および圧縮します。バンドルのサイズ、キャッシュリクエスト、および原則として、その数を減らします。
-同社は長い間AngularJSを使用しており、その後新しいAngular(「Angular 2」)に移行しました。 そして、4.0の最近のリリースはあなたにとって重要なイベントになりましたか?それに切り替えるつもりですか?-私たちは、Angular 4への移行の準備を進めています。プロジェクトの1つをすでに転送しています-スターター(これは、すべての新しいプロジェクトを起動するブートストラップです)。 利点は、AOTとサーバーレンダリングでの動作を最適化することです。 アップグレードアプリケーションの問題など、ハイブリッドアプリケーションにはいくつかの困難がありますが、すぐにそれらをAngular 2に完全に変換します。
-Tinkoff.ruはまた、Angularで会議を開催します。前回からビデオはありません。将来的には、スケジュールを厳密に監視して、それらを直接強制する価値がありますか? なぜmitapsは可能な技術からAngularに焦点を合わせたのですか?-最後のmitapはすべての人に対応できなくなったため、オンライン放送でした:)すべてのビデオをYouTubeのmetapの公式チャンネルと、meetup.tinkoff.ruサイトに掲載します。 電子メールをそこに残して、今後の会議の通知を受け取ることもできますので、お見逃しなく。
私たちはさまざまなコミュニティをホストできることを嬉しく思います。私たちのスタッフはさまざまな会議や会議に参加しています。 非常に簡単な理由で、MitapをAngularに保持することにしました-当時は誰も彼らをしませんでした:)当時はほとんどドキュメントがありませんでした(ロシア語ではありませんでした)。 そして、ReactとAngularの間の永遠のホリバーは一般に肥沃な話題です-常に議論し、共有するアプローチがあります。 まあ、そしてもちろん、スケッチします。