先週、新しいiPhone 7とApple Watch Series 2のプレゼンテーションは終了し、誰かがオリジナルでそれを見て、誰かが同じWylsacomを独特のユーモアで翻訳しました。 しかし、いつものように、新しいリンゴの木のクール/非クールのトピックと、最終バージョンの新しいiOS 10が私たちに何を喜ばせるかについてのファンとヒップの別のホリバーがありました。 インターネットで調べてみると、過去数か月にわたってベータ版と開発版のすべてをテストすることに基づいて行われた、AT&TのiOS開発者が公開した新しいOSの分析に出会いました。 私はあなたにそれを理解することを提案します。
翻訳者からのメモ
Habrahabrユーザーの皆様、この記事は完全に「請求書」なしで提供されています。 一部のセクションは、読みやすくするために再パーティション化されました(追加のヘッダーが追加されました)。 この翻訳の不正確さに気付いた場合やご意見を共有したい場合は、建設的な形でコメントでお知らせください。 記事の翻訳は、いつも感謝しているわけではありませんが、仕事です。 何かに同意せず、もっとうまくやれると思うなら、それをして無駄にしないでください。
著者について
Guillermo Yrigoen 、AT&TのiOSコンピューターシステムのアナリスト、CTO、およびDarc Dataの共同設立者。 Guillermoは、ソフトウェア開発で8年の経験があります。 彼はマルチメディアアーティストとしてスタートし、博物館やイベントの写真イラストの作成とプログラミングに焦点を当て、Java、C、Pythonなどのプログラミング言語を使用してLixux、Raspberry、Arduinosなどのサーバーを管理しました。場所:カリフォルニア州エルセグンド
===
アップルとの出会い
幸運なことに、スマートフォン市場が成長し始めたばかりの頃から、モバイルデバイス用のアプリケーションの開発を始めました。 iPhone 3GとiPhone 4のリリースの間のどこかにAppleがiOS 2を導入したときのことを正しく覚えていれば、これらのデバイスだけでなく、当時からアプリケーションを開発しました。 当時の私の主な焦点はフィーチャーフォンであり、CまたはJMEで記述する必要がありました。 彼らは私に携帯電話用のコードを書く技術を紹介し、スマートフォン用の開発への移行を簡素化しました。
私の意見では、Appleは仕事に最適なツールを備えており、統合開発環境はプロセスを高速化するだけでなく、開発者がアイデアの概要を示し、それらを実装し、テストし、最適化する方法を理解するのに役立ちます。
ユーザーによるiOS 10について
OSレベルは非常に軽く、使いやすいです。 車輪を再発明するのは難しいことではありません。 最初に気付くのは、ロック画面の更新です。 ウィジェットはその外観により重要になり、通知とメッセージをもう少し制御できるようになります。 画面をロック解除することなく、携帯電話を使用する人は誰でもあなたに関するより多くの情報を取得するため、画面についてはわかりません。 地図には、あなたの家、職場、興味のある場所への時間とルートが表示されます。 これは、Appleがあなたに関するより多くの情報を収集していることを意味し、これが良いアイデアかどうかはわかりません。 しかし、一般的に、この画面を閉じると、見た目と印象は快適になり、設定と削除オプションの新しい編成があります。
Appleの一部のデフォルトアプリは非常に優れています。 メッセージングアプリはクールですが、iPhoneを使用しないユーザー向けの「共有」機能の一部は含まれていません。 地図のルートの質が向上し、「今すぐ天気」などの興味深い機能や、ルートの隣にある場所に関する詳細が追加されました。 写真ライブラリは整理されており、写真を見つけやすくなっています。 私のような1万枚以上の写真がある場合、間違いなく気に入っていただけるでしょう。 残りについては、視覚的なデザインと構成以外に大きな変更はありません。 しかし、アプリケーションをナビゲートするときのシステムの応答速度の改善に気付きました。
開発者によるiOS 10について
開発者レベルでは、Objective-CとSwiftのどちらを使用してアプリケーションを開発してもかまいません。 新しいリリースの後でも機能する堅実なプログラミング基盤に頼ることができます。 簡単に実現できるようになり、アプリケーションの作成は非常に単純になりましたが、単純ではないため、常に簡単になるとは限りません。 これは特定の場合にのみ機能します。 開発者は自分が持っているものを使って作業する必要があり、アップルはテクノロジーにさらに制限があります。
デバイス、ライブラリ、アクセス許可、プロファイルの動作など、ハードウェアやソフトウェアを必要に応じて使用できないため、これらの制限は好きではありません。 時には、ルール外の何かを作成しようとするのを妨げます。 しかし、結局のところ、Appleは会社であり、重要な会社であり、私は彼らのプレイ条件を受け入れなければなりません。
私の意見では、iOS 10およびXcode8を使用する開発者を支援できる重要な機能の1つは、システムデバッグと、リーク、スレッド、インターフェイス、および起こりうるバグをリアルタイムで追跡する機能です。 これは、他のプラットフォームよりも大きな利点になりました。 Xcode8では、プロセスをより詳細に制御し、現在の時間でコードを分析できます。 バグ追跡が大幅に改善されました。これにより、問題がどこにあるのか、どこにあるのかを特定するのに役立ちます。 インターフェース設計者は以前のバージョンよりも桁違いに優れており、制限はもはや干渉しません。 また、ポートレート、ランドスケープ、または組み合わされた画面を使用するユニバーサルアプリケーションで作業している場合、それらを使用する際の問題は少なくなります。
証明書で自動的に署名することは、私が長い間待ち望んでいたことです。Macに多くの開発者証明書またはプロビジョニングプロファイルがあれば、もう問題はありません。 または、複数のデバイスを紛失した場合。 自動証明書署名があなたのためにそれを行います。 そして最後に、私が注目したい最も重要なトピックはテストです。
iOS 10のテスト
一般に、ソフトウェア開発者として、使用する言語、Objective-C、Swift、Python、Javaなどに関係なく、コードがどれだけうまく機能するかを常に知る必要があります。 次の質問に対する答えを知る必要があります。
- これはエレガントなソリューションですか?
- 速いですか?
- すべての条件は正しいですか?
- 何らかのゾンビプロセス、メモリリーク、競合状態、無限のサイクルを作成していますか?
- メモリとネットワーク接続はどうですか?
- 起こりうるすべてのシナリオを実際に解決しましたか?
もちろん、少なくともプロジェクトで複数のチームで作業している場合は、XcodeとInstrumentsよりも多くのツールが必要になります。 コードを直接書くよりも、コードのどこが間違っているのか、何が間違っているのかを考えるのに時間がかかることがあります。
長年にわたり、境界線のケースがどんなに単純または複雑であっても、状況は非常に短時間で非常に悪化する可能性があることに気付きました。 そして、あなたとあなたが働いている会社のためだけでなく、ユーザーのためにも。 Appleには、時間の経過とともに改善され、エラーの削減に大いに役立つ非常に優れたツールのセットがあります。 OSサーバー上の単体テスト、UIテスト、ボット、スクリプト、およびCIテスト環境を使用すると、より快適に感じることができ、エラーの数を大幅に減らし、実行内容を最適化できます。 しかし、現実世界ですべてが変わるわけではなく、すべてがAppleによって制御されるわけでもありません。
あなたは彼と向かい合って直面しなければならないまで、どこから不可解に生じるあらゆる種類の奇妙な行動に対処しなければなりません。 テストが必要な機能をカバーしていないか、あまりよく考えられていない場合もあれば、すべてのテストが正しくないかまったく機能しない場合もあり、誤った信頼感を与えます。 場合によっては、リリース前にテストできなかったり、アプリケーション内外の情報の流れ全体を十分に理解していない人が、意味のないテストや無効なテストを書いてしまうことがあります。 テストの作成はソフトウェアの作成でもあるため、テストをどの程度テストする必要がありますか? しかし、コードのエラーだけで、美しいアルゴリズムが完全に壊れるわけではありません。 サーバーのタイムアウト、予期しない応答、予測できないユーザーの行動について何が言えますか? 常に新しい何かがあります。 ツールや方法論がどれほど便利になるかは問題ではありませんが、まだ欠けている場合もあります。
あとがき
2005年に初めてMacbookを購入しました。 それから彼はOS Tigerに取り組みました。 それ以来、大量の水が流れ、システムの膨大な数の改善と変更が発生しました。 実を言うと、システムにもかなりの制限があります。 物議を醸すステップにもかかわらず、Appleはユーザーを維持するのに十分なバランスのとれた製品を開発しました。 まとめると。 ユーザーと開発者としての私の一般的な経験は、現時点では製品が十分に良いと言っています。
翻訳者からのあとがき
元の記事はこちらにあります 。 Maria Garbuzovaの翻訳にご協力いただきありがとうございます
UPD
注意すべきテスター:インターネットで収集した最新のニュースによると、次のデバイスはiOS 10に更新されません。
- iPad 2
- iPad第3世代
- iPad mini
- iPhone 4S
- iPod touch第5世代