å°ãåãŸã§ãMailã¢ããªã±ãŒã·ã§ã³ã¯WP7ã§èµ·åããŸããã Windows Phoneã®ã¹ã¿ã³ãã¢ãã³ã¢ããªã±ãŒã·ã§ã³ãå¿ èŠãããããšãIE Mobileãšãã®é¡äŒŒè£œåã«Mail.Ru Mailãé©å¿ãããã ãããèãããšããã®åé¡ã¯ããã«è§£æ±ºããŸããã WP7ã®ã¹ããŒããã©ã³ã®ææè ã¯ããã©ãããã©ãŒã ã«å®å šã«é©åããç¬èªã®æ¬æ Œçãªã¡ãŒã«ã¢ããªã±ãŒã·ã§ã³ãææããŠããå¿ èŠããããŸãã
ã¢ããªã±ãŒã·ã§ã³ã«æ瀺ããèŠä»¶ãééããåé¡ãããã³ããããã©ã®ããã«è§£æ±ºããããã«ã€ããŠãã«ããã®äžã§èª¬æããŸãã
ã³ã³ã»ãã
ç§ãã¡ã¯ããã«ãæåã«ã¢ããªã±ãŒã·ã§ã³ã倧éã®ããŒã¿ãè¿ éã«åŠçãã倧ããªãªã¹ãïŒçä¿¡æåã®ãªã¹ããªã©ïŒãããŒãããå Žåã§ãé«éã§ããããšã確èªããããšã決å®ããŸããã ããã€ãã®åŽé¢ã§ã¯ãã¢ããªã±ãŒã·ã§ã³ã¯çµã¿èŸŒã¿ã®é»åã¡ãŒã«ã¯ã©ã€ã¢ã³ãã«äŒŒãŠããå¿ èŠããããŸãã®ã§ããããæäœãããšãã«äžå¿«æããããŸããã åæã«ãã¢ããªã±ãŒã·ã§ã³ã«ã¯ãçµã¿èŸŒã¿ã¯ã©ã€ã¢ã³ããšåºå¥ããé«åºŠãªæ©èœãå¿ èŠã§ãã
ç¹ã«ãã¿ããã€ã³ã¿ãŒãã§ã€ã¹ã®ãã¹ãŠã®æ©èœã䜿çšãããžã§ã¹ãã£å¶åŸ¡ã«çŠç¹ãåœãŠãŠããŸãã ãã©ã«ããŒãåãæ¿ããããæã§ããªãã¯ããŠæåããæåã«ç§»åãããããã®ã¯äŸ¿å©ã§ããã©ãããã©ãŒã ã®ç²Ÿç¥ãšäžèŽããŠããŸãã ãã1ã€ã®æ©èœã¯ãWebã¡ãŒã«ãšã®å³æåæã§ãã ã¢ããªã±ãŒã·ã§ã³ã®ãã¹ãŠã®ãŠãŒã¶ãŒã¢ã¯ã·ã§ã³ã¯ãããã«Webã€ã³ã¿ãŒãã§ã€ã¹ã«è¡šç€ºãããŸãã ãã¹ãŠã®æ°ããæåã¯ãã¢ããªã±ãŒã·ã§ã³ã§ããã«è¡šç€ºãããŸãã
WP7ã®ã¢ããªã±ãŒã·ã§ã³ãéçºãã人ã¯èª°ã§ããæšæºã³ã³ãããŒã«ã®ãã¬ãŒã ã¯ãŒã¯å ã§ã®éçºã1åãŸãã¯2åè¡ãããããšãç¥ã£ãŠããŸãã å·Šå³ã«1æ©ããããšãã¿ã¹ã¯ãå®äºããæéãå€§å¹ ã«é·ããªããŸãã
ããã§ãã©ããªå°é£ã«ééããã®ãã«ã€ããŠã
ãã©ã«ããŒãåãæ¿ãã
ãã©ã«ããåãæ¿ããããã«ãããããã³ã³ãããŒã«ã䜿çšããããšã決å®ãããŸããã ãã¹ãŠãã·ã³ãã«ã§ã-ããŒãžããšã®åãæ¿ããåããŒãžã¯ãªã³ããã³ãã§ããŒããããŸãã
ãæšæºãŠãŒã¶ãŒãã®å Žåããã¹ãŠãæ£åžžã«æ©èœããŸããã¡ãŒã«ããã¯ã¹ãžã®ç»é²åŸã5ã€ã®ãã©ã«ããŒãããªããããã¢ããªã±ãŒã·ã§ã³ã¯ãã°ããããŒããããŸãã ãã ãããã©ã«ãã®äžéšã®ãŠãŒã¶ãŒã¯ãå€ãã®ïŒãããŠéåžžã«å€ãã®ïŒãŠãŒã¶ãŒãæã€ããšãã§ããŸãã
ãã¹ãã®ããã«ããŠãŒã¶ãŒãã©ã«ããŒãã©ã€ãã¡ãŒã«ããã¯ã¹ã«è¿œå ãããŸããïŒåèš40åãããŸããïŒã ãã®ãããªç¶æ³ã§ã¯ãéå§ç»é¢ã®ã¿ã€ã«ãã¿ããããŠããåä¿¡ãã¬ã€ãªã¹ãã衚瀺ããããŸã§ãã¢ããªã±ãŒã·ã§ã³ãèµ·åããã®ã«çŽ30ç§ããããŸããã ãã®çµæã¯ãç§ãã¡ã«ã¯ã©ãã«ãåããŸããã§ããã
ããã©ãŒãã³ã¹ã®åé¡ã«é¢ãã詳现ãªèª¿æ»ã«ããããã©ã«ããŒã®ãªã¹ããæ ŒçŽãããŠããObservableCollectionã³ã³ãããŒãããã«ããã¯ã§ããããšã瀺ãããŸããã ã³ã³ããããã©ã«ãã«é¢ããããŒã¿ãåä¿¡ããåŸããªã¹ãã¯ãã©ã«ãããšã«ããŒããããŸããã ObservableCollectionã®è€æ°ã®è¿œå ã¯ãµããŒãããŠããŸããã ãããŠãããããã®æ°ããèŠçŽ ãè¿œå ãããšãUIãåæ§ç¯ãããŸãã Pivotã®å Žåãããã¯åãå ¥ããããªãããšãå€æããŸããã ã¯ãããã€ã¯ããœããã¯æšå¥šäºé ã«æ¬¡ã®ããã«æžããŠããŸãããããã©ãŒãã³ã¹ãèæ ®ããŠãå¯èœãªå Žåã¯Pivotã³ã³ãããŒã«ããŒãžã®æ°ãæå°éã«æãããããåãæ¿ããžã§ã¹ãã£ãŒãå§åããããšãã欲æ±ã 解決çãšããŠãSilentObservableCollectionç¶æ¿ã¯ã©ã¹ã掟çããŸããããã®ã¯ã©ã¹ã«ã¯ã3ã€ã®AddSilentlyãInsertSilentlyãRemoveSilentlyã¡ãœãããããã³Notifyã¡ãœãããè¿œå ãããŸããã ååã瀺ãããã«ãæåã®3ã€ã®æ¹æ³ã§ã¯ãå€æŽã®ãã³ã«UIãåæ§ç¯ããã«ãªã¹ããåæ§ç¯ã§ããŸãã æåŸã®æ¹æ³ã§ã¯ããã©ã«ããŒã®ãªã¹ããæŽæ°ãããåŸã«UIãå€æŽã§ããŸãã
æåãåãæ¿ãã
次ã«ãã¹ã¯ã€ãã§æåãåãæ¿ããå¿ èŠããããŸããã ãã©ã«ããŒã®ãªã¹ãã®å Žåãšåæ§ã«ãæåã¯ãã®ã¿ã¹ã¯ã«ããããèŠçŽ ã䜿çšãããŸããã 圌ã«ã¯å€ãã®åé¡ããããŸããã
æåã«ã圌ã¯ããã«æçŽã®ãã¹ãŠã®ããŒãžãäœæããŸãïŒãã ããæçŽã«è¡ããšæçŽèªäœãèªã¿èŸŒãŸããŸãïŒãããã®å ŽåãèªæžããŒãžãéãã«ã¯å€ãã®æéãå¿ èŠã§ãã
Pivotã®æåã®ãªã¹ãã¯ãèªã¿èŸŒãŸããããããŒã®ãªã¹ãã§ãã ãã®ãªã¹ããäžã«ç§»åãããšã20æåã®ãããã¯ãæ¢åã®ãªã¹ãã«ããŒããããŸãã ååã«ç§»åãããšãPivoââtãåæåã®ããŒãžãäœæããéãæåãéãã®ã«æ°åãããå ŽåããããŸãã
次ã«ããããããã«ãŒãããŸãã ãŸããèæ¯ãã·ããããããšã§ã©ã®ããŒãžã«ãããã倧ãŸãã«ç解ã§ããããã©ããšã¯ç°ãªããPivoââtã§ã¯ãæåŸã®ããŒãžããæåã®ããŒãžãžã®é·ç§»ã¯æ¬¡ã®ããŒãžãžã®é·ç§»ãšå€ãããŸããã ããã¯ãæçŽã®ãªã¹ãã®å Žåã«ã¯éåžžã«èª€è§£ãæããã®ã§ããã æåã®æåãã©ãã«ããã®ããã©ã®æ¹åã«å転ããŠæ¬¡ã®æåãèŠãã®ãã¯äžæã§ãããããæåã®åŸãåã³æåã®æåã«æ»ã£ãã®ã¯ãªãã§ããã
ããããã¹ãŠã®åé¡ãå æããããã«ãLongListPivotãšåŒã°ããã³ã³ãããŒã«ãäœæãããŸããã 説æãããŠããäž¡æ¹ã®åé¡ã解決ããŸãã ã«ãŒããããŸãããã€ãŸããæåã®æåããæåŸã®æåãžã®ç§»è¡ã¯ãããŸããã ãŸãã1ããŒãžãããªãã ãã®ããŒãžã®ããŒã¿ã¯ãç»é¢ã®èåŸã«ãããšãã«å€æŽãããŸãã æãåãããåŸãçŸåšã®æåã¯ç»é¢ãé¢ããããã§ç»é¢ã®å察åŽããå±ã次ã®æåã«çœ®ãæããããŸãã ããã«ããã©ã«ããŒå ã®æåã®ãªã¹ãã®å Žåãšåæ§ã«ããªã¹ãã®æåŸã®æåã«è¿ã¥ããšã20æåã®æ¬¡ã®ãããã¯ãèªã¿èŸŒãŸããŸãã
ã¡ãŒã«ãèŠã
解決ã«æãæéãããã£ã次ã®ã¿ã¹ã¯ã¯ãHTMLããŒã¯ã¢ããã§ã¡ãŒã«ã衚瀺ããããšã§ããã
ãã¹ãŠãåçŽãªããã§ãïŒWebBrowserèŠçŽ ããããŸãã ããŒãžã«é 眮ããããã¹ããããŒãããŸã-ããã§å®äºã§ãã ãã ãããã®èŠçŽ ã䜿çšã§ããªãå Žåã«ã¢ããªã±ãŒã·ã§ã³ã䜿çšããã·ããªãªããããŸãã ããšãã°ãå€æ°ã®åä¿¡è ãããŠããŠãŒã¶ãŒããªã¹ãå šäœãéããå Žåã ãŸãã¯ãã¬ã¿ãŒã«è€æ°ã®æ·»ä»ãã¡ã€ã«ãããå Žåã ããã¯ãã¹ãŠãã¬ã¿ãŒã®ããããŒãåŒã䌞ã°ãããã³ã³ãã³ããç»é¢ã®äžéšã«ç§»åãããšããäºå®ã«ã€ãªãããŸãã ãã®çµæãããã³WebBrowserãç¬èªã®å éšã³ã³ãã³ãã¹ã¯ããŒã«ãæã£ãŠãããšããäºå®ãšåæ§ã«ãã¡ãã»ãŒãžã¯å°ããªé åå ã§ã¹ã¯ããŒã«ããããã«ãªããŸãã
ãã®ãããªè§£æ±ºçãæ€èšããŸãããæåã®é«ãã決å®ããWebBrowserã®é«ããå³å¯ã«æå®ããŠå éšã¹ã¯ããŒã«ãé€å€ããScrollViewerå ã®èŠçŽ ã®äžè¬çãªãããŒã«åãããŸãã ãããã第äžã«ãWP7ã§ã¯ã1ã€ã®ã³ã³ãããŒã«ã®å¹ ãŸãã¯é«ãã2048ãã¯ã»ã«ïŒç»é¢ã®é«ãã¯2.5ã®ã¿ïŒãè¶ ããããšã¯ã§ããŸããã 第äºã«ãæçŽã®å 容ã®é«ãã決å®ããæ¹æ³ããããŸããã
WebBrowserã¯ãããŒããããããŒãžã«é¢ããæ å ±ãæäŸãããã³ã³ãã³ãã®è¡šç€ºïŒã¹ã¯ããŒã«ãå¹ ãã¹ã±ãŒã«ïŒãå¶åŸ¡ãããœãããŠã§ã¢ã€ã³ã¿ãŒãã§ã€ã¹ãæäŸããŸããã ããã°ã©ããŒã«æ®ãããå¯äžã®ããšã¯ãInvokeScriptã䜿çšããŠJavaScriptã§ã³ãã³ããéä¿¡ããScriptNotifyã€ãã³ããä»ããŠéç¥ãåä¿¡ããããšã§ãã
æåãèªãããã®ããŒãžã®ãããªãéçºã¯ãæ°ããã¬ãã«-CSS + JavaScriptã«ç§»åããŸããã ã¢ãã€ã«Webã¡ãŒã«ã®ååã®ãããã§ãéªéã«ãªã£ããã¹ãŠã®åé¡ã解決ããããšãã§ããŸãããæåã®å¹ ãæ¡å€§çž®å°ãã¹ã¯ããŒã«ã®èšå®æ¹æ³ã§ãã
æçŽã®ãªã³ã¯
å¥ã®ã¿ã¹ã¯ã¯ãªã³ã¯åŠçã§ããã ãªã³ã¯ã¯ãã¡ãã»ãŒãžã®ããã¹ãã衚瀺ããçµã¿èŸŒã¿ã®WebBrowserèŠçŽ å ã§ã¯ãªããã·ã¹ãã ãã©ãŠã¶ãŒå ã§éãå¿ èŠããããŸãã ãããè¡ãã«ã¯ãWebBrowserèŠçŽ ãã¯ãªãã¯ããŸããã 次ã«ãJavaScriptãä»ããŠãã¿ããäœçœ®ã«ããhtmlã¬ã€ã¢ãŠãèŠçŽ ã決å®ããããã®èŠçŽ ããªã³ã¯ã§ãããã©ããããã§ãã¯ãããããã§ããã°ãã¢ãã¬ã¹ãå€éšãã©ãŠã¶ãŒã§éãããŸããã
åé¡ã¯ãå²åŒãµãŒãã¹ã®ã¢ã°ãªã²ãŒã¿ãŒã®1人ããã®æçŽã«ãããŸããã htmlã§ã®éç¥ã®ãœãŒã¹ããã¹ãã¯çŽ300ã500 Kbã§ãã ãã®ãããªæåã衚瀺ããããšãããšãããã°ã©ã ã¯ã¡ã¢ãªäžè¶³ãšã©ãŒã§ã¯ã©ãã·ã¥ããŸããã æçµçã«ãHTMLããŒã¯ã¢ããã§100 Kbãè¶ ãããã¹ãŠã®æåããé©å¿ãããããã¹ã圢åŒã§è¡šç€ºããããšã«ãªããŸããã
æ·»ä»ãã¡ã€ã«ãæäœãã
Windows Phoneãã©ãããã©ãŒã ã®æ©èœã®1ã€ã¯ãåé¢ãããããŒã¿ã¹ãã¬ãŒãžã§ãã æ·»ä»ãã¡ã€ã«ã®æäœã«åé¡ããããŸãã ã¡ãŒã«ããã°ã©ã ã¯ãã¹ããŒããã©ã³ã®ã«ã¡ã©ã§æ®åœ±ããåçã ãã§ãªããæçŽã«æ·»ä»ãããã®ã£ã©ãªãŒã®ç»åã§ãå®å šã«æ©èœããŸãã ã¡ãŒã«ã¢ããªã±ãŒã·ã§ã³ã§ã¯ãåä¿¡ããã¬ã¿ãŒã«æ·»ä»ãããç»åã衚瀺ããå¿ èŠã«å¿ããŠã®ã£ã©ãªãŒã«ä¿åã§ããŸãã ãã®ããã°ã©ã ã¯ãéä¿¡ããããããªãã¡ã€ã«ãšãªãŒãã£ãªãã¡ã€ã«ãåçã§ããŸãã
MS Officeããã³Adobe Readerããã¥ã¡ã³ãã®å Žåãç¶æ³ã¯æ¬¡ã®ãšããã§ããããã°ã©ã ã¯ããããã®æ·»ä»ãã¡ã€ã«ãããŠã³ããŒããããªã³ã¯ãçæããå€éšãã©ãŠã¶ãŒã«è»¢éããŸãã æ·»ä»ãã¡ã€ã«ãä¿åãããšããã©ãŠã¶ãŒã¯ãããOfficeãŸãã¯Adobe Readerã«è»¢éããŸãã æ·»ä»ãã¡ã€ã«ã¯ãããã®ããã°ã©ã ã«æ®ããŸãã ãã ããã¡ãŒã«ã¢ããªã±ãŒã·ã§ã³ããå床éãããšãããšããã¹ãç¹°ãè¿ãå¿ èŠããããŸãããªã³ã¯ãçæãããæ·»ä»ãã¡ã€ã«ãå€éšãã©ãŠã¶ã«ãã£ãŠããŠã³ããŒãããã察å¿ããããã°ã©ã ã§éããŸãã
ãã¹ãäž
ãŸãããã¹ãã«ã€ããŠè©±ãå¿ èŠããããŸãã WPã¢ããªã±ãŒã·ã§ã³ã®ãã¹ãã«ã¯ãããã€ã¹èªäœã®æ©èœã«ããããã€ãã®å°é£ã䌎ããŸãã ããšãã°ããã¹ãããã»ã¹ã®ãã°ãèšé²ããŠè¡šç€ºããããã€ã¹ããçŽæ¥ã¹ã¯ãªãŒã³ã·ã§ãããååŸããããšã¯ãŸã ã§ããŸããã
ã¢ããªã±ãŒã·ã§ã³ã®5ã€ã®ããŒã¿ãã«ããå ¬éãããšããäºå®ã«ããããããããããã®ãããããŠãŒã¶ãŒã«æäŸãããŸããã§ããã ã¢ã»ã³ããªãå ¬éãããŠããããŠã³ããŒãã§ããããã«ãªããŸã§ã3æ¥éããããŸãã ãã®éãã»ãšãã©ã®ã¢ã»ã³ããªãšã©ãŒã¯ãã¹ã¿ãŒã«ââãã£ãŠæ€åºãããä¿®æ£ãããããŒã¿çã¯å»æ¢ãããŸãã ãã¹ããæŽçããããã«ã4ã€ã®éçºè ã¢ã«ãŠã³ããéããã12ã®ããã€ã¹ã®ããã¯ã解é€ãããŸããã å®æçã«ãéçºã®æ¬¡ã®æ®µéã®çµããã«ãææ°ã®ææ°ããŒãžã§ã³ãã»ãšãã©ã®ããã€ã¹ã«ã€ã³ã¹ããŒã«ãããã¬ãã¥ãŒãã³ã¡ã³ããèŠæ ãåéãããŸããã
ãã以å€ã®å ŽåãWindows Phoneãå®è¡ããããã€ã¹ã®ã¡ãŒã«ãŒã«å¯ŸããMicrosoftã®æ確ãªèŠä»¶ã®ãããã§ããŸããªäŸå€ãé€ããã¢ããªã±ãŒã·ã§ã³ã¯ã¹ããŒããã©ã³ã®ç°ãªãã¢ãã«ã§åãããã«æ©èœããŸãïŒAndroidãå®è¡ããããã€ã¹ã®ãããªæçåã¯ãããŸããïŒã
ãããã«
ãã®æ å ±ãã圹ã«ç«ãŠã°å¹žãã§ãã ãŸããWPã®äžã§ä»ã®éçºè ã®çµéšã«ã€ããŠèªãããšãéåžžã«èå³æ·±ãã§ããããåããããªã¿ã¹ã¯ã«æ¢ã«ééããããããç°ãªãæ¹æ³ã§è§£æ±ºããå Žåã¯ãã³ã¡ã³ãã§ãããæããŠãã ããã
次ã«ãã¢ããªã±ãŒã·ã§ã³ã®æ¹åã«åŒãç¶ãåãçµã¿ãŸãã mailapps@corp.mail.ruã§ã³ã¡ã³ããææ¡ãéä¿¡ã§ããŸãã Windows Phone 7ã®Mail.Ru MailãWindows Phoneã¹ãã¢ã«ããŠã³ããŒãããŸãã
Balashov Vadimãã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³éçºè
Mail.Ru