Eureka EngineeringLearn about Eureka’s engineering efforts, product developments and more.
Eureka EngineeringLearn about Eureka’s engineering efforts, product developments and more.
Eureka EngineeringLearn about Eureka’s engineering efforts, product developments and more.
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog どうも、ヤフーの佐野( @taketo1024 )です。先日引っ越しをしまして、張り切って自分でタンスを運んだりして今とても筋肉痛です。 皆さんは Objective-C から Swift への移行は進んでいますか?弊社ではまだ Obj-C で書かれているプロジェクトは多くあります。世に出ている iOS アプリも多くはまだ Obj-C で作られているんじゃないかと思います。 Swift もオープンソース化され、この先その進化のスピードはさらに増してくるはずです。そこでチーム内で開発を進めていた Obj-C → Swift コンバータ を大幅に改良しオープンソースで公開することにしました!この記事ではその導入と活用の方法を説明します
海外事業向けのiOSアプリケーション開発を担当している西山(@yuseinishiyama)です。クックパッドは現在、海外複数カ国に向けてサービスを展開しています。 主にObjective-Cで記述されたアプリケーションを全面的にSwiftに書き換える機会があったので、その際に得た知見や書き換えるに至った動機を共有します。 書き換えに至るまでの経緯 この項では、書き換えに至るまでの経緯について説明します。 Objective-C期 アプリケーションの開発は2014年7月頃にスタートしました。Swiftの発表直後でしたが、時期尚早ということもあり、Objective-Cで実装することになりました。 Objective-C、Swift混在期 2014年10月頃から、Swiftへの段階的な移行のために、新規のコードをSwiftで書くようになりました。Swiftの記述力や、ヘッダと実装を行き来しな
iOSアプリのコーディング規約を考える時はGoogleよりもNYTimesのObjective-Cスタイルガイドを参考にすべき By raimon, 2015-03-21(土), in category Ios Googleのスタイルガイドは古い 複数人でiOSアプリをObjective-Cコードで書いて保守する時、コーディング規約を検討することになる。 参考にすべきスタイルガイドとして良く挙がるものにGoogle Objective-C Style Guideがあるが、これはいかんせん古い。メモリ管理ARCやNSNumberのリテラル構文など、比較的新しいトピックについても追記されてはいるが、 インスタンス変数のアクセス修飾子 プロパティを使う事が主流となっている2015年現在、余り扱われない autorelease を使ったオブジェクト生成など、MRC時代の規約 何よりホスティング先が
カレンダーなどのアプリで、画面に今日の日付などを表示している場合、真夜中に日付が変わった瞬間にUI表示を変えたりなどの処理をしたいことがありますよね。 そのためだけにNSTimerなどを使ってタイマー処理をするのも面倒くさいので、たいていはスルーしていると思うんですが。 実はそんな時に使える便利な機能があります。 UIApplicationDelegateで、applicationSignificantTimeChangeをオーバーライドしておけば、日付が変わった瞬間にこの関数が呼ばれて、UI変更の処理をすることができます。 - (void)applicationSignificantTimeChange:(UIApplication *)application{ NSLog(@"日付の表示を変えてください。"); } こんな時によばれるので、日時を扱うアプリでは、実装しておくのがお勧めで
iQONのiOSアプリはまだ全てObjective-Cで記述されています。 Swiftへの移行については「たいしてパフォーマンスが上がるわけでもないし…」と思って渋っていました。 そんな中、オフィスの移転をきっかけに来客の受付システムをiPadアプリで作ることになりました。 スクラッチでアプリを作るのならSwiftで、ということでSwiftで作りました。 今回は、受付システムの社員...iQONのiOSアプリはまだ全てObjective-Cで記述されています。 Swiftへの移行については「たいしてパフォーマンスが上がるわけでもないし…」と思って渋っていました。 そんな中、オフィスの移転をきっかけに来客の受付システムをiPadアプリで作ることになりました。 スクラッチでアプリを作るのならSwiftで、ということでSwiftで作りました。 今回は、受付システムの社員を呼び出すデータ通
AppDelegateはアプリ全体のライフタイムイベントを管理するためのクラスですが、その性質上、様々な処理が書かれやすいです。 しかし、あらゆる処理が書かれ肥大化していくと、見通しが悪くなってメンテナンスがしづらくなったり、チームで開発してる場合はコンフリクトが起こるなど開発速度に支障をきたすようになってしまう場合があります。 そこで、この記事では、そんな膨れがちなAppDelegateを綺麗な状態に戻すための方法をいくつか紹介します。 1. AppDelegateの責務外の処理は他クラスに移す AppDelegateの主な責務はライフタイムイベントの管理です。具体的には「起動」「停止」「バックグラウンド状態の切り替わり」などなどUIApplicationDelegateで定義されているような処理です。 にもかかわらず、例えば全Controllerから触れる値を定義したいなどの理由で、責
結論 小手先で楽をするためのボトムアップな設計は後々苦労する 継承を使った差分プログラミングは長年運用していくと大変だ 人は楽な方に流れるので、Baseクラスで解決すべきでない問題をBaseクラスで解決して後で困る はじめに この文章は2015年1月のpotatotips13で発表するネタ用のメモに書いてました。 実際に発表した内容を含む様子は下記のページにまとめています。 http://curiosity.co.jp/potatotips13/ 会場で質問されたりツイートの様子を見てて気づいたのですが、BaseViewControllerを使いたくないという"この文章"と同意の意見は、比較的経験のあるおじさんたちの意見であって、若い人からするとなぜBaseViewControllerを使ってはいけないように言われるのかについて具体例を聞きたがる傾向が強いです。 また、不必要に自分が気に入
結論 まず最初に急いでる人向けに結論を先に書いておきます。2つの違いは以下の様に成っています。 yyyy 年(西暦)を出力 YYYY ある年における「最初の木曜日を含む週が、その年の第1週である」というルールで年(西暦)を出力。 例えば 2015/1/1 は木曜日なのでその週の日は日曜日〜土曜日まで全て2015年の第1週という解釈になります。この場合には2014年で有る、 2014/12/28(日曜)〜2014/12/31(水曜) の時でも YYYY では 2015 を返します。 きっかけ Podcast で Rebuild の第73回を聴いていたら日付フォーマットで yyyy ではなく、YYYY を使った為に Twitter の Android クライアントで不具合が出たという話が出てきました。 ※根本的な原因はこのルールでサーバ側が実装されていた為、 Android クライアントで正し
この記事は CyberAgent エンジニア Advent Calendar 2014 9日目の投稿です。 昨日は@stormcat24 さんの開発効率化への道は一日にしてならず - tehepero note(・ω<) でした。 自分は4ヶ月ほど前にサーバサイドJavaからiOSに転向し、弊社の中で最も息の長い(?)iOSアプリの開発チームにジョインしました。利用者数も多く事業インパクトの大きいアプリですが、ちょっと前からSwift移行を着々と進めています。 Swiftが登場して6ヶ月、ネット上に良い情報が沢山転がっていて目新しい事は書けないんですが、ここでは既存のコードベースをリプレースしながら感じたSwiftの良い所でもまとめてみようと思います。 実際に現場で活きている機能 まだ書きはじめて1ヶ月ほどなので、膨大なSwiftの新機能のうち一部しか触れてはいないですが、はやくもコード
こんにちは。モバイルファースト室の中村(@_nkmrh)です。 仕事でSwiftを使うことはまだないのでSwiftについて色々気になっている今日この頃です。 今回はSwiftとObjective-C(以下、Obj-C)を1つのプロジェクト内でつかう方法と、両者の相違点について気になった点を紹介したいと思います。 Swift -> Obj-C まず、SwiftからObj-Cを使う方法です。 SwiftからObj-Cを使うには、[product module name]-Bridging-Header.hを作成します。 ※ [ProductModuleName]は通常ProductNameと同じです。ProductNameにアルファベット以外の文字を使っている場合、その文字は( _ )(アンダースコア)に置換されます。 Xcodeのメニュー"File > New > File > (iOS o
この連載では、iOS SDKによるiPhone/iPad開発について解説します。現在iPhone/iPadアプリケーションを開発するには、Xcode/Interface Builderを用いた標準的な開発手法の他に、WEBアプリケーション+ネイティブアプリケーションのハイブリッド型開発手法、PhoneGapやTitanuim Mobile, Corona SDKといったサードパーティライブラリによるクロスプラットフォームアプリケーション開発手法などいくつか選択肢があります。 本連載ではObjective-Cによるネイティブアプリケーション開発に焦点をあてますが、初回はこれらの開発手法の特徴を確認しておきましょう。 XcodeとInterface Builderを使った開発 XcodeとInterface Builderを使った開発は、iPhone/iPad向けのアプリケーション開発手法とし
hueとは 「Philips hue」は、1,600万色を超える色彩表現が可能なLED電球です。iOS、MacOS X、Android用のSDKが用意されており、スマートフォンアプリから制御することが可能です。 Philips hue 点けたり消したり、色を変えたりできるアプリが用意されている、というだけでなくて、SDKが用意されている、というところがポイントです。 たとえばiOS SDKがあるということは、位置情報やWeb APIなど、iOSデバイスで利用できるあらゆる機能と連携できることを意味します。 一例を挙げますと、undaというビデオメッセージングアプリを提供するスタートアップでは、オフィスでhueを次のように利用していました。 undaでの使用例 写真だけではわかりませんが、こちら、undaに新しいユーザが増えるたびに光るようになっています。ビデオメッセージが送られたときはオレ
http://vimeo.com/109624121 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約4時間前 Michele Titoloについて取り上げるのは、 「モバイルAPIデザインのまとめ」 「Ruby RoguesメンバとiOSエンジニアのAPI議論」 に続いて三回目ですが、今回はiOSアプリづくりにおけるチーム内の連携がテーマ。 彼女は現在、redditのiOSチームのリーダーをしながら、Objective-Cプロジェクトの依存関係の管理をしてくれるCocoaPodsの開発と、非営利団体 Women Who CodeのCEOを兼務しています。 redditはwebで大量のトラフィックとユーザを抱えてますが、スマホのアプリに注力しはじめ、切り口を変えた複数のreddit閲覧アプリづくりにチームで取組
本連載では、Objective-Cの基本的なプログラムが出来る読者を対象に、Swiftを使ってアプリを開発する際の基本的な事柄を解説します。Objective-CもSwiftもC言語を母体としたプログラム言語なので両者に共通する概念は非常に多いです。Objective-CとSwiftとの最低限度の違いを踏まえつつ、Swiftでのアプリ開発にシフトして行けるような内容を、サンプルを交えながら解説します。 はじめに 連載第1回目では、Swiftを使って開発を行う際に必要なツール類と、Swiftのプログラムを試す環境の構築について説明します。Objective-C経験者が初めてSwiftに触れることを前提として、開発環境の構築とSwiftの特徴について説明します。 対象読者をObjective-Cが分かる方としている関係上、Objective-C自体の言語仕様やXcodeの使い方については解説を
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く