タグ

ブックマーク / blog.fenrir-inc.com (35)

  • 【Objective-C】 文字列検索するなら、NSString の rangeOfString: より CFStringFind を使うべき(検証)

    こんにちは、Sleipnir for Mac 開発担当の宮です。 前回「Sleipnir for Mac のパフォーマンスを大幅に改善するためにしたこと」という記事で、rangeOfString: より CFStringFind を使ったほうがいいよと書きました。 今回は、実際にパフォーマンス計測してみてどのくらい違うかを調べてみます。 (追記)なぜパフォーマンスに違いがでてくるか判明したので、別の記事を書きました。 => NSString#rangeOfString: と CFStringFind ではデフォルトのオプションが違う 計測について ・環境: iMac (Mid 2011), 2.7GHz Intel Core i5 ・文字列の最後の5文字を探す ・1万回の検索にかかる時間の10回平均 ・大文字小文字を区別するプションを引数で渡すかどうかで結果が違うのでそれぞれ計測 ・サン

    【Objective-C】 文字列検索するなら、NSString の rangeOfString: より CFStringFind を使うべき(検証)
  • 【iOS/Mac開発】Core Data を使いはじめるのに最低限知っておけばいいこと

    こんにちは。Objective-C は Emacs で書く金内です。 ウェブブラウザ Sleipnir for Mac や Sleipnir Mobile for iPhone / iPad は、ブックマークや履歴・タブのデータを Core Data を使って管理しています。 Core Data は iOS / OS X 開発の主要フレームワークのひとつですが、どうにもとっつきにくいためか、尻込みしてしまう方も多いという印象があります。 この記事の目的は、とっつきにくい Core Data を最低限の内容にしぼって解説して、「なるほどそーいうものなのね。ボク/ワタシのアプリでも使ってみよっかなー」と思っていただくことです。 どんな時に使うの? ひとことで言えば、Core Data は Apple 純正の高機能・高性能データ管理フレームワークです。 iOS / Mac 向けのアプリである程度

    【iOS/Mac開発】Core Data を使いはじめるのに最低限知っておけばいいこと
  • Kindle Paperwhite で iOS のドキュメントを快適に読む

    こんにちは。 Sleipnir 3 for Mac, Sleipnir Mobile for iPhone / iPad 開発担当の宮です。 少し前ですが、今年の11月19日に Kindle Paperwhite が発売されたので買いました。 技術書があまり対応していないのではほとんど買ってないのですが、iOS のドキュメントを読むのに Kindle をフル活用しています。 Kindle では MOBI 形式のファイル閲覧をサポートしており、HTML などの構造化された文章であれば、まあまあ変換できます。 iOS や Mac のドキュメントは Docset という形式で提供されており、中身はただの HTML なので、MOBI に変換できそうですね。 さっそくスクリプトを書いてやろう思ったのですが、少し検索したらすでに良いスクリプトがあったので、今回はその紹介をします。 docset2k

    Kindle Paperwhite で iOS のドキュメントを快適に読む
  • 【iPhone / iPad 開発】新しい iPad の Retina ディスプレイ対応にする方法と落とし穴(+期間限定セールのお知らせ)

    こんにちは。開発担当の金内です。 みなさん、新しい iPad をもう触ってみましたか?話題は何といっても Retina ディスプレイ。4倍のピクセル数になって、まるで印刷物のような美しさです。 Sleipnir Mobile for iPhone / iPadiPad の Retina ディスプレイ対応版を App Store に申請しています。どうやらいつもより審査に時間がかかっているようなのですが、もう少々お待ちください。 今回は iPhone / iPad 両対応のユニバーサルアプリを Retina ディスプレイに対応させるにあたってのポイントと、下手をするとハマってしまう落とし穴を紹介します。さらに、iPhone / iPad アプリの期間限定セールのお知らせもあるので最後までお読みください。 ファイル命名規則UIImage への読み込み “image.png” というイ

    【iPhone / iPad 開発】新しい iPad の Retina ディスプレイ対応にする方法と落とし穴(+期間限定セールのお知らせ)
  • 【スマホ用ページ】低解像度、高解像度端末のどちらでもくっきり綺麗に表示しつつ、幅ぴったりにする HTML テンプレート。

    こんにちは、ウェブ開発の林です。 スマートフォン向けウェブページを作る際、横幅ぴったりにしたいと思いませんか。 meta viewport というタグを使えば表示サイズを調整することができます。 ただそれを使ったとしても、Android / iPhone は端末により横幅が違うため個別に最適化するのは面倒です。 スマホ端末ごとにコードを分けることなく常に幅ぴったりにする HTML テンプレートを作りました。 こちらを参考に組んでみてはいかがでしょうか。 HTML テンプレートコード(ヒント付き) こちらの HTML コードを丸っとコピペして修正していくと楽だと思います。 追記: ライセンスフリーです。自由に使ってください。 <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title></title> <!--

    【スマホ用ページ】低解像度、高解像度端末のどちらでもくっきり綺麗に表示しつつ、幅ぴったりにする HTML テンプレート。
  • アイコンデザイン時に気をつけたい 10項目

    デザイナーの大西です。 アプリケーションアイコン作成時に気を付けていることを書き出してみました。 基的な事、作った後で気づく落とし穴、確認しておきたいことなど、アイコン作成の参考にしていただければ幸いです。 また、OS のガイドラインでアプリケーションアイコンについて言及されている場合が多いです。アングルや光源、影の付け方まで細かく定められているものもあり参考になるはずです。 ボリュームのある形 アイコンサイズの正方形でアイコンを囲んだときにどれだけ隙間が少ないか、がボリュームです。 ボリュームないと目立たないですし、隙間部分はクリックできない印象を与えます。ボリュームがあるだけでクリックしやすそうな安定感があります。 隙間の少ないアイコン(左)と隙間の多いアイコン(右) キーになる色は少なめに メインの色は 1色〜2色を目安に、不要な色を増やさない方が印象的に仕上がります。ただ、煩雑に

    アイコンデザイン時に気をつけたい 10項目
  • スマホ対応の参考に。JavaScriptでウェブページがどのくらい拡大されているのかを取得する方法。

    こんにちは。開発担当の林です。 iPhone / iPad のウェブブラウザでページを見ているとき、けっこうな割合でピンチイン・ピンチアウトすると思いますが、それがどのくらい拡大されているのかを取得する方法を書きます。 また、応用でピンチイン・ピンチアウトされても、見た目のサイズを維持するにはどのくらい拡大すれば良いかということにも触れたいと思います。 広告バナーなんかでよく使われてるアレの仕組みです。何かのお役に立てれば幸いです。 ウェブページがどのくらい拡大されているのかを取得する // ページの幅 ÷ 表示されている幅(この行だけでいいかな) var zoomer = document.body.clientWidth / window.innerWidth; // 以下で拡大率を目視できるでしょう alert( zoomer ); // 小数点がたくさんつくので、第二位までに丸め込

    スマホ対応の参考に。JavaScriptでウェブページがどのくらい拡大されているのかを取得する方法。
  • Android アプリの描画を高速化する 5 ステップ

    こんにちは、Sleipnir Mobile for Android 開発担当の西田です。 今回は、Sleipnir Mobile for Android でも実施している Android アプリの描画チューニング手法を紹介します。 1.まずは計測 ~プロファイラ編~ 古来より「計測なくして高速化なし」と言い伝えられています。まずは Android SDK 付属の Traceview というプロファイラで、遅いのは当に描画なのかどうかを調べましょう。 プロファイリングの仕方ですが、開始/終了位置をコードで埋め込む方法と Eclipse から開始/終了を指示する方法があります。コードを埋め込む方法は、traceファイルをデバイスから取り出したりする必要がありちょっと面倒です。ですので今回は Eclipse からお手軽にプロファイリングする方法を紹介します。 まずはデバイス上で計測したい画面を

    Android アプリの描画を高速化する 5 ステップ
  • リッチに見せるデザインテクニック。美しいぼかしで魅せる 『MAX 塗り』のすすめ。

    こんにちは、イメージ担当の長谷川です。 今回は 1px にこだわったリッチな Web や UI デザインを更に立体的で奥行きのある雰囲気にする『MAX 塗り』を取り入れたグラフィック作成手法をご紹介します。 ところで『MAX 塗り』ってご存知ですか?ガンプラなどが好きな方はピンと来たと思いますが、プラモデルなどに興味がない人は全く分かりませんね。 『MAX 塗り』とはプラモデルに立体感を出すためにエッジから中央に向かってぼかしていく、昔からある「ぼかし塗り」や「グラデーション塗り」の技法です。 この技法で塗装されたプラモデルは単純に塗装したものより格段に迫力や存在感が上がります。プロモデラーの MAX 渡辺さんが良く使うプラモデルの塗装技術として通称『MAX 塗り』と呼ばれています。 Web や UI にこの『MAX 塗り』を取り入れる方法は簡単です。 作ったボタンや背景などのグラフィック

    リッチに見せるデザインテクニック。美しいぼかしで魅せる 『MAX 塗り』のすすめ。
  • iPhone / iPad アプリのアニメーションをなめらかにするためのポイント3つ

    こんにちは。開発担当の金内です。 みなさん、Sleipnir Mobile for iPhone / iPad を使っていただけているでしょうか? 今日は Sleipnir Mobile の特徴となっている「TouchPaging」を開発したときの経験から、iPhone / iPad アプリ開発でスムーズなアニメーションを実現するためのコツをご紹介します。 タブをスワイプ操作で切り替える TouchPaging は、開発中のある段階で機能としては実現できたものの、スワイプ中のアニメーションがどうにもこうにもガクガクしていて、心地よいとは言えないものでした。はじめのうちは iPad のパフォーマンスの限界かと思っていたのですが、「いや、こんなハズじゃない」という意見が開発チームで持ち上がり、改善に向けた取り組みがはじまりました。 パフォーマンス問題なら Instruments の出番です。

    iPhone / iPad アプリのアニメーションをなめらかにするためのポイント3つ
  • より豊かな表現のために、3つのステップで実装する Core Text

    こんにちは、開発担当の眞弓です。 テキストを表示するとき、通常は UILabel などを使いますがときどき「凝った文字列を使いたい」ということはないでしょうか? そんなときのために、今回は Core Text の基的な使い方について書いてみようと思います。 人によってやり方は違うと思いますが、ちょっとしたことに使う場合に私がやっててわかりやすかった方法を紹介します。 位置を指定するやりかたはイメージしにくいので、文字列単位で扱えるやり方で実装をしてみました。 以下のような感じで、「属性付き文字列を作って、その文字列を付け足していって、最後にまとめて表示」というやり方です。 1 : 文字列を作成 2 : フレームを作成 3 : DrawRect 1 : 文字列を作成 属性付き文字列は以下のような感じで作っていきます。 atrString = [[NSMutableAttributedStr

    より豊かな表現のために、3つのステップで実装する Core Text
  • ずっと使えるデザインテクニック。すっきり美しく見せる『余白』と『文字』の使い方。

    こんにちは、デザイナーの長谷川です。 今回は僕が普段気をつけている、ちょっと意識するだけでスッキリしたデザインになるレイアウトのコツをご紹介します。 デザイナーじゃない方も、企画書や簡単な UI のモックアップ、Web や雑誌のレイアウトなどに応用できると思いますので、ぜひ参考にしていただければと思います。 1. 上下左右のマージンを均一に Web デザインや UI デザインの要素全てに対して隣り合う要素との間隔やバナー、ボタンなどの外側と内側の要素の上下左右マージンをできるだけ均一にすることで、デザインがスッキリ見えます。 2. 内側のマージンは外側のマージンより狭く レイアウトなど一番外側とコンテンツの間隔より文章のかたまりや画像同士の間隔を小さくします。基的にコンテンツのまとまりを作るためですので、デザインによっては広く取って区分ける場合もあります。 3. 段落の下は間隔を広く開け

    ずっと使えるデザインテクニック。すっきり美しく見せる『余白』と『文字』の使い方。
  • iPhone / iPad アプリを開発する前に読んでおくべき3つのドキュメント

    こんにちは。開発担当の金内です。 主に iPhone / iPad アプリを開発している関係で、友人などから「iPhone アプリ作ってみたいんだけど、何から読みはじめればいいの?」というような質問をよく受けます。 というわけで、iOS アプリ開発のためのおすすめドキュメントをご紹介しましょう。それぞれ日PDF もありますが、訳は内容が少し古かったりするのでご注意ください。 ■プログラマ向け ・iOS Application Programming Guide(日PDF) iOS アプリを実装していく上での基的な概念や機能について詳しく記述されています。たとえば、画面遷移の方法や設定アプリ内に項目を出すにはどうするか?というような話などなどです。プログラミングの観点からこのドキュメントは当に重要で、うまくいかなくて悩んだことが、実はこのガイドにあっさりと書かれていたという話

    iPhone / iPad アプリを開発する前に読んでおくべき3つのドキュメント
  • iPhone/Android/PC 対応。jQuery で書くタッチイベント

    こんにちは!プロダクト企画担当の林です。 今回は、前回予告していた通り、タッチイベントについて書かせていただきます。 他所でもタッチイベントについて取り扱っていますが、当記事でのポイントは、 jQuery を使っている。(jQuery Mobile は不要です) iOS / Android で動作確認済み。 タッチできない PC の場合、マウスで動く。 この3点です。 こちらを実際に動作するコードにて解説します。 動作確認環境 タッチ環境 → iPhone / iPad / Android マウス環境 → Sleipnir / IE / Firefox / Google Chrome / Safari / Opera タッチイベントについて タッチイベントとは、スマートフォンなどで画面を直接指でタッチしたときに発生するイベントのことです。 イベントの種類 touchstart : タッチし

    iPhone/Android/PC 対応。jQuery で書くタッチイベント
  • 画面レイアウトを行うときに便利なツール « Elegant Apps Developers

    こんにちは。BoltzEngine 担当の伊藤です。 Windows 10 の最新版、April 2018 Update (バージョン1803、ビルド17134.1) が配信されました。このアップデートで、Windows 10 の Microsoft Edge でもウェブプッシュが使えるようになりました。 これまで Chrome や Firefox を別途導入する必要がありましたが、標準の Edge だけでプッシュ通知が実現できるようになったので、今後より利用しやすくなりました。 こんにちは! 島根支社でウェブエンジニアをしているカナツです。 GW も終わり、現実と向き合う日々に引き戻されたみなさま、いかがお過ごしでしょうか。 次の大型連休は島根観光をオススメします。自然が豊かすぎる島根で非日常的な日々を過ごしたくないですか? 前置きはさておき、みなさん、チーム開発時のソースコード管理って