
ã¯ããã«
1幎åãç§ã¯å€§èŠæš¡ãªå°å£²äŒæ¥ã®ITéšéã§åãã11人ã®ããŒã ã管çããŠããŸããã äžè¬çã«ãç§ã¯10代ã®é ãããœãããŠã§ã¢éçºã«åŸäºããŠããŸããããç§ã¯åžžã«ç®¡çè·ã«ãªããããšæã£ãŠããŸããã æé·äŒæ¥ã«ãªãåã«ã2ã€ã®æåã®ã¹ã¿ãŒãã¢ããã売åŽããã®ã§ã管ççµéšã®äžè¶³ãäœæ¥ã®åŒ±ç¹ã®ãŸãŸã§ããã
ãã®åŸãéã®ç¶æ³ãçºçããŸããã ç§ã¯ãªãŒããŒã·ããã®ä»äºã奜ãã§ãããã¯ç§ã«ãšã£ãŠéåžžã«æèœã§ããããã¹ãã«ã倱ããªãããã«ããã°ã©ãã³ã°ã®å¿ èŠæ§ãæããŸããã
ãã®çµæãæãªãšãã«Windows Mobile 6.5çšã®Evernoteã¯ã©ã€ã¢ã³ããäœæããŸããã ãªãã©ã€ã³ã¡ã¢ãªã©ãå ¬åŒã¢ããªã±ãŒã·ã§ã³ã§ã¯å©çšã§ããªãã£ãå€ãã®æ©èœãå®è£ ããŸããã ãããŠãäœæ¥ãçµãããšããã«ããã€ã¯ããœããã¯ã¢ãã€ã«åžå Žã§ã®æŠç¥ã®ãªããŒããšWindows Phone 7ïŒWP7ïŒã®ãªãªãŒã¹ãçºè¡šããŸããã
ãã®æãç§ã¯ãã§ã«çµå¶é£ãç§ã®ããã§ã¯ãªãããšãç解ãå§ããŠããã®ã§ãEvernoteã®CEOã§ããPhil Libinããé»è©±ããããEvernoteã«åå ããŠWP7ã®ãµãŒãã¹ã¯ã©ã€ã¢ã³ããäœæããããã©ããå°ãããããšããæ°ããã¹ã¿ãŒãã¢ããã«ã€ããŠèãå§ããŸããã ããã¯éåžžã«æééãã§ãã-ãã¡ãããç§ã¯åæããŸããã ãããŠæè¿ããã®ãã©ãããã©ãŒã çšã®ã¯ã©ã€ã¢ã³ãã®æåã®ããŒãžã§ã³ãå°å ¥ããŸããã
ããã¯ãäœãå®è£ ãããäœãå®è£ ãããªãã£ãã®ããWP7ãåªããéçºãã©ãããã©ãŒã ã«ããŠããã®ããã©ã®ãããªå°é£ãããã®ãââã«ã€ããŠã®ç©èªã§ãã ãŸããã³ãŒãããŒã Mangoã®WP7ã®æ¬¡ã®ããŒãžã§ã³ã®ãªãªãŒã¹ã§éãããå¯èœæ§ã«ã€ããŠãæ€èšããŸãã
ãŸãšããªéçºãã©ãããã©ãŒã
å€ãã«ãŒã
.NETãšSilverlightãWP7ã®åºç€ãšããŠéžæããããšã§ãMicrosoftã¯.NETã®æ¢åã®éçºè ã®å€§èŠæš¡ãªã³ãã¥ããã£ã«ãšã£ãŠãã©ãããã©ãŒã ãããã«é åçãªãã®ã«ããŸããã
Silverlightã®äœ¿çšçµéšãã»ãšãã©ãªãã£ãã«ãããããããç§ã¯é·å¹ŽCïŒã§éçºãç¶ããŠããŸããããä»ã§ã¯æ°ããç²åŸããã¹ãã«ãé©çšããæ©äŒããããŸããã Language Integrated QueryïŒ LINQ ïŒã ã©ã ããã¬ããŒãžã³ã¬ã¯ã·ã§ã³ãªã©ã®æè¡ã䜿çšããéçºçµéšãããå ŽåãããããåŸã§æŸæ£ããããšã¯å°é£ã§ãã
Silverlightã¯æ°å¹ŽåããååšããŠããããã®æè¡ã¯ã€ã³ã¿ãŒãããäžã§æ®åããŠããŸããããäŒæ¥ç°å¢åãã®ã€ã³ãã©ãããéçºã§ã¯éåžžã«éèŠããããŸãã
SilverlightãšModel View ViewModelïŒ MVVM ïŒéçºãã¿ãŒã³ãäžç·ã«äœ¿çšãããŸãã ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãXAMLãšåŒã°ããXMLèšèªãšããŠåŠçãããããšã宣èšããŸããXAMLã¯ãViewModelã³ãŒãã«å®£èšçã«ãã€ã³ããããŸãã ããã¯ããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšããã«ãViewModelã³ãŒããåå¥ã«ãã¹ãã§ããããšãæå³ããŸãã ãŸããSilverlightã¯éåžžã«äŸ¿å©ãªã¢ãã¡ãŒã·ã§ã³ããã³èŠèŠå¶åŸ¡ã·ã¹ãã ãåãåããŸããã
åªããããŒã«ããã
WP7éçºè ã¯çãããããŠããŸãã Visual Studioã«Resharperãªã©ã®åªãããã©ã°ã€ã³ãåãã匷åã§æçããæ©èœçãªIDEãããã ãã§ãªããExpression Blendã®é«éãªãšãã¥ã¬ãŒã¿ãŒãšç¬ç«ããèšèšãŠãŒãã£ãªãã£ãããããã§ãã
ãšãã¥ã¬ãŒã¿ãŒã¯ãã³ã³ãã¥ãŒã¿ãŒã®ããŒããŠã§ã¢ä»®æ³åæ©èœã䜿çšããŠãæ¬æ Œçãªä»®æ³ãã·ã³ã®ããã«åäœããŸãã ãã©ã¹ã¯ãé«ãããã©ãŒãã³ã¹ãæäŸããŸãããåæã«ããšãã¥ã¬ãŒã¿ã¯åã«èµ·åããªããããä»®æ³ãã·ã³å ã§éçºããããšã¯ã§ããŸããã
Blendã䜿çšãããšãã¢ãã¡ãŒã·ã§ã³ãèšèšãéçºããã¢ããªã±ãŒã·ã§ã³ã®ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãã«ã¹ã¿ãã€ãºã§ããŸãã å ã ã¯ãã¶ã€ããŒåãã®ææã®ãã€ãšã³ãããŒã«ãšããŠéçºããããã®ã®ãéçºè åŽããã®ææ ã®åµãåŒãèµ·ããããããMicrosoftã¯WP7éçºè åãã«ç¡æã§æäŸããŸããã Blendã䜿çšãããšãã€ã³ã¿ãŒãã§ã€ã¹ã®å€èŠ³ãšçžäºäœçšã«éäžããã³ãŒããæ°ã«ããã«ã¹ããŒãªãŒããŒããšã¢ãã¡ãŒã·ã§ã³ã«åãçµãããšãã§ãããããæäœãç°¡åã§äŸ¿å©ã§ãã
ã³ãã¥ããã£
ã³ãã¥ããã£
WP7ã®éçºã«é¢ãã匷åãªã³ãã¥ããã£ã®ååšã¯ãŠããŒã¯ãªãã®ãšã¯èšããŸãããããããããã©ãããã©ãŒã ã®è¥ãã®ããã«ãã³ãã¥ããã£ã§é«ã掻åãæããããŸãã
Stack OverflowãMicrosoft ç¬èªã®ãã©ãŒã©ã ãªã©ã®éåžžã®å Žæã«å ããŠã Windows Phone Geekãªã©ã®ãµã€ãã§ã¯ãå質ã«é¢ãããã³ããã³ããããŒãã«é¢ããèšäºã絶ããæµå ¥ããŠããŸãã
ã³ã³ããŒãã³ã
ãã©ãããã©ãŒã ã¯ãŸã æ°ããããã人ã ã¯ããŸããŸãªå Žæã«æ°ãããã¬ãŒã ã¯ãŒã¯ãæçš¿ããŠããŸããã WP7Contribã®åšãã«äººã ãéãŸãå§ããŠããããšãããããŸãã
WP7ã®Evernoteã¯ã©ã€ã¢ã³ãã§ã¯ã次ã䜿çšããŸããã
- Microsoft WP7 ããŒã«ããã
- Laurent Bunionã«ããMVVM Light Toolkit
- PhoneyToolsã®Sequen Wildermouthã®FadingMessageã³ã³ããŒãã³ã
- Colin Eberhardtã«ããæµäœãªã¹ãã¢ãã¡ãŒã·ã§ã³ ã
ããã€ãã®å°é£
ããŒã¿ããŒã¹ã®äžè¶³
Googleã§ã®ã€ã³ã¿ãã¥ãŒã«ã€ããŠã¯ãå®éã«ã¯æ±ºããŠäœ¿çšããªãããŸããŸãªããã·ã¥ã¢ã«ãŽãªãºã ãšãœãŒãã¢ã«ãŽãªãºã ã®å®è£ ã«ã€ããŠè©³ãããå°ãã«ãªããšã誰ããæ¢ã«èããããšãããã§ãããã
ãã®ç¥èã圹ç«ã€äžçãžããããã WP7ã®æåã®ãªãªãŒã¹ã§ã¯ãéçºè ãå©çšã§ããããŒã¿ããŒã¹ãã¯ãããžãŒã¯ãããŸããã ããã¯ãéé¢ãããã¹ãã¬ãŒãžãšãã¡ã€ã«ãæ€çŽ¢ããæ©èœã§ãã
ããŒãããã¯ããªãã©ã€ã³ã§ä¿åããæ©èœã¯ãã¯ã©ã€ã¢ã³ãã§æ°åã®ããŒããæ€çŽ¢ããæ©èœãšçžãŸã£ãŠãããŒã¿ããŒã¹ã®æ¬ åŠãææãªé害ã«ããŸãã ã¡ã¢ã¯åãããŒãããã¯å ã«ãããããã«é¢é£ä»ãããã0å以äžã®ã¿ã°ãããå ŽåããããŸãã ããŒãã¯ããŒãããã¯ãŸãã¯ã¿ã°ã§è¡šç€ºã§ããããŒãã®ãªã¹ãã¯ãèŠåºããæ¥ä»ãäœçœ®æ å ±ãªã©ã®ããŸããŸãªãã©ã¡ãŒã¿ãŒã§ãœãŒãã§ããŸãã äžè¬çã«ãããŒã¿ããŒã¹ã¯éåžžã«åœ¹ç«ã¡ãŸãã
æ°äººããã®ã®ã£ããã«å€¢äžã«ãªããããŸããŸãªã¬ãã«ã®è€éããšå®å šæ§ã®ããŒã¿ããŒã¹æè¡ãææ¡ããŠããŸãã 2010幎ã®çµãããš2011幎ã®åãã«æ°é±éãããŠããããè©ŠããŸããããç§ã®èŠä»¶ããã¹ãŠæºãããã®ã¯èŠã€ãããŸããã§ããã æçµçã«ãç§ã¯èªåã®èªè»¢è»ãäœãæ¹ãç°¡åã ãšå€æããç¬èªã®ã·ã³ãã«ãªã¡ã«ããºã ãäœæããŸããã
ãã©ãããã©ãŒã ãšã©ãŒ
éåžžããã©ãããã©ãŒã ã§ãã°ãçºèŠãããšèããã®ã¯ããªãäºæ³å€ã§ããåé¡ãèªåã®ã³ãŒãã«ããå¯èœæ§ãã¯ããã«é«ããªããŸãã ãã ããWindows Phone 7ãªã©ã®æ°ãããã©ãããã©ãŒã ã®æåã®ãªãªãŒã¹ã§ã¯ãåé¡ãæ¬åœã«åœŒå¥³ã«ããããšããããŸãã
ããšãã°ããã©ãŠã¶ã³ã³ããŒãã³ãããã©ãŒã«ã¹ãåãåã£ãåŸã¯ãããŒãžäžã®ã³ã³ãããŒã«ã«ãã©ãŒã«ã¹ãèšå®ã§ããŸããã ãŸãã¯ãããããå ã®3çªç®ã®ãªã¹ãã¢ã€ãã ã®éžæã埩å ããããšãããšãã©ã®ããã«ã¯ã©ãã·ã¥ããŸããïŒ ãŸãã¯ããã°ã«äºæããªããšã©ãŒã¡ãã»ãŒãžããããŸããïŒ ç§ãééããããããã¹ãŠã®ããšã¯WP7ã®åé¡ã§ããããšãå€æãããã©ãããã©ãŒã ã®è¥è ã«ãã£ãŠéåžžã«èª¬æã§ããŸããã ããªãã®ã³ãŒãã ããåé¡ãåŒãèµ·ãããŠããã®ã§ã¯ãªãããšããå€ããå°ãªããæºåããŠãã ããã
ããªããããã«èŠã€ãããšæåŸ ããããã€ãã®æ©èœããããŸããããããã¯åã«ååšããŸãã-äŸãã°ãããªãã¯ãµã€ãããããŒã¿ã¹ããªãŒã ãããŠã³ããŒãã§ããŸãããããªãã¯ãµã€ãã«ã¹ããªãŒã ãåããéã®èœåãæã£ãŠããŸããã ããã¯ããµã€ãã«ããŒã¿ãéä¿¡ããå Žåãéä¿¡ããã»ã¹ã®ãã¹ãŠã®æ å ±ãã¡ã¢ãªã«ããå¿ èŠãããããšãæå³ããŸãã éåžžã«å€§ããªãã¡ã€ã«ãã¢ããããŒãããå Žåãããã¯åé¡ã§ãã
ãããŠæåŸã«ããã©ãããã©ãŒã èªäœã¯ãIsolatedStorageãŸãã¯ãããã¯ãŒã¯æ¥ç¶ãžã®ã¢ã¯ã»ã¹ãªã©ïŒUIã¹ããªãŒã ã®åå ãªãã§éå§ããããã¡ããWebClientã¯ã©ã¹ã䜿çšããªãå Žåã§ãïŒãäºæããªãç¶æ³ã§UIã¹ããªãŒã å ã®ããŸããŸãªæ©èœã®èµ·åãå¿ èŠãšããŸãã ã
ã¹ã ãŒãºãªã¹ã¯ããŒã«
ãã©ãããã©ãŒã ãé«éã§ã¬ã¹ãã³ã·ããªã€ã³ã¿ãŒãã§ãŒã¹ãæäŸããããšã«éç¹ã眮ããŠããããšãèãããšãç»åãå¯èœãªãã€ãããã¯ããŒãã£ã³ã°ãªã©ããªã¹ãã«å€ãã®èŠçŽ ãããå Žåãæ¬åœã«ã¹ã ãŒãºãªã¹ã¯ããŒã«ãå®è£ ããã®ãã©ãã»ã©é£ãããã¯äžæè°ã§ããã ããããããªã¹ãã«ã¯äœåãã®ãã®ãããªã¢ã€ãã ããããããããªããšèšã£ãïŒ
çµã¿èŸŒã¿ã®ListBoxã䜿çšããŸããã VirtualizingStackPanelãä»ããŠãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã®ä»®æ³åãæäŸããŸããã€ãŸããã€ã³ã¿ãŒãã§ã€ã¹ãªããžã§ã¯ãã¯ã衚瀺ãããèŠçŽ ã«å¯ŸããŠã®ã¿åæåãããŸãã ãŸããããŒã¿ã®ä»®æ³åãå¯èœã§ããListBoxãé¢é£ä»ããããŠãããªã¹ãã«IListãå®è£ ãããŠããå ŽåãçŸåšå¿ èŠãªèŠçŽ ã®ãªã¹ããç §äŒããã ãã§ããã€ãŸããå¿ èŠã«å¿ããŠããŒã¿ãœãŒã¹ããèŠçŽ ãåçã«ããŒãã§ããŸãã
ãããã®å©ç¹ã«ãããããããç§ã¯WP7ããŒã«ãããããLongListSelectorãå°å ¥ããŸããã ã°ã«ãŒãåãã¢ã³ã«ãŒãªã©ãããŒã¿ãªã¹ãããã€äœ¿çšããããã€äœ¿çšãããªããªã£ããã瀺ãèå³æ·±ãæ©èœããããŸãã ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã®ä»®æ³åãæäŸããŸãããããŒã¿ã®ä»®æ³åãæ¬ ããŠããŸã-æåã«è¡ãããšã¯ããªã¹ãå ã®åèŠçŽ ããã€ã³ãããããšã§ã...
ã¹ã ãŒãºãªã¹ã¯ããŒã«ãäœæããããã®å€ãã®èšäºãšãã¯ããã¯ããããŸãã ããã¯ãããã¯ã°ã©ãŠã³ãã¹ã¬ããããããŒã¿ãããŒãããã¹ã¯ããŒã«äžã«ããŠã³ããŒããäžæåæ¢ããŠããŸãã ããããå€ãã®èŠçŽ ãããå Žåããã¹ãŠãæ£ããè¡ãããšã¯äŸç¶ãšããŠéåžžã«é£ããããã¹ãŠã®èŠçŽ ãã¡ã¢ãªå ã«ããããã§ã¯ãããŸããã
WP7ã®ã¯ã©ã€ã¢ã³ãã®æ¬¡ã®ããŒãžã§ã³ã§ã¯ãIListèŠçŽ ãæäœããç¹å¥ãªã¢ãããŒãã®å©ç¹ããããããListBoxã®äœ¿çšã«æ»ãããšã«ããŸããã
ç¶ç¶