1055354877

iOS Packager를 사용하여, iPhone/iPad어플 개발하기 #1

오랜만에 포스팅을 하네요.

Apple에서 iOS 4.0을 출시하면서, 앱스토어 정책을 변경하여,
플래시 혹은 ThirdParty Tool을 사용하여 iOS Application개발이 가능해진 사실은 많은분들이 알고계실겁니다.
사실 플래시를 사용하게 해주고 싶어서라기보다는, Quake Engine for iOS 같은 훌륭한 게임엔진들의 사용을
가능하게 해주려고 하다보니 덩달아서 Adobe FlashPlatform이 덕을 본게 아닌가 생각됩니다.

일단 Mobile Device (Touch기반) 과 PC와의 가장 큰 차이점은 Input장치에 있습니다.
키보드,마우스를 사용하느냐 아니면 손가락을 사용하여 터치스크린을 제어하느냐 이 부분이 사용자들이
가장크게 느끼는 차이점일 것이며, 개발자입장에서는 기존에 고려하지 않았던(고려할필요가 없었을수도 있죠)
Device의 CPU, RAM사용량의 최적화가 많은 걸림돌이 될것입니다.

가장 좋은 퍼포먼스를 보여주기 위해서는, 권장하는 언어를 사용하여 Native로 제작하는 것이 가장 좋겠습니다만,
간단하게 손쉽고 빠르게 프로토타입정도 수준의 Application을 제작할때는 Flash/AIR 만한 툴도 없다고 생각합니다.
(물론 제가 익숙해서 이게 편한거겠지만요 ^^)

현재 Adobe에서 제공하는 레퍼런스는 상당히 내용면에서 빈약하다고 할수밖에 없습니다.
http://help.adobe.com/en_US/as3/iphone/index.html
위의 주소에서 간단한 Description을 확인하실수 있습니다.

아이폰 어플을 제작할때는 퍼포먼스를 극대화 할수있는 모든방법을 총동원해야 할것 같습니다.
(사실 Web-Application, RIA등을 작업할때는 귀찮아서 신경안썼던 방법까지두요)

아이폰어플개발을 하며 가장 크게 문제가 되었던 부분들에 대해서 앞으로 여러차례에 나눠서 포스팅을 하려고 합니다.
1. Tweener
2. Touch, Gesture, SupportedGesture
3. BitmapCaching (cacheAsBitmap, cacheAsBitmapMatrix)
4. EventListener의 선언시점
5. NativeCommand, ExternalInterface등의 Mobile에서만 존재하는 특수기능들

아직까지 geoLocation을 사용하여 활용해보진 않아서, 이런 부분들도 나중에 추가할생각입니다~
아이패드어플 Prototype 작업하면서 얻을수 있는 팁들은 전부 포스팅할까합니다.
자료를 찾아보려고 했는데 정말 없더라구요. 저라도 써보려구요 ㅎㅎ

PS> 트위터를 통해서 비트맵캐싱에 대해 조언해주신 세계의끝님, 우야꼬님 감사합니다.

ActionscriptIcon_400

Rotate the BitmapData in Actionscript 3.0 (비트맵 회전하기)

Matrix클래스를 사용해서 BitmapData를 변형하는 방법입니다.
다음은 BitmapData를 회전하는 방법입니다.

Bitmap.rotation 으로 회전이 가능하나, 회전된 값으로는 저장이 안되있는거 같더군요.

위의 방식으로 회전이 가능합니다~^^

1051197280

Adobe AIR 2.5 SDK for Android


Adobe® AIR® – Android Developer Prerelease : Register Now

https://prerelease.adobe.com/callout/default.html?callid={AEF64EB4-A977-4317-909A-14AD8014BA21}
사용자 삽입 이미지
Adobe에서 공개한 AIR for Android SDK 2.5 입니다.
http://labs.adobe.com/technologies/air2/android/

현재 prerelease버젼으로 Eclair/Froyo에서 동작가능하며, Release버젼에서는 Froyo만 정식지원할거라고 합니다.
작업툴은 2010년 하반기쯤 출시될 예정인데, 현재 prerelease는 Flash CS5의 extension형태로 제작이 가능합니다.
아직 Flex4 Framework은 모바일기기용으로 최적화되어 있지않고, ActionScript Project로 AIR프로젝트로 제작가능합니다.
ADT CommandLine툴을 사용하면 되고 이는 포럼을 통해 문서를 제공하고 있습니다.
조만간 나올 Flex Mobile Framework이 기대되네요.

기존의 Flash Lite와는 달리 ActionScript 3.0만을 지원하며, Runtime과 SDK를 해당 플랫폼에 맞게 다운로드 받아서
개발이 가능합니다.

“It took about four days for us to make the AIR Android version, and 1/2 of those days were spent getting up to speed with the Android tools.

“Code reuse? You bet. Both the desktop and mobile clients use the same interfaces and api calls to interact with server-side infrastructure (which includes our web services platform and our FMS 3.5 servers).

“Two different clients and one server interface; we love AIR!”

– Bruce Hopkins, chief architect for BlogRadio




이를 사용해서 개발하는 방법에 대해서는 다음포스팅에 적어보도록 할께요~ ^^

file3649637741942306043

[온게임넷 매거진 1월호] 타임머신 TV

이게 매거진으로 소개된지도 모르고 있었네요..
FMS(Flash Media Server) 3.5 이상에서 지원하는 DVR 기능으로 구현한 동영상 플레이어입니다.
근시일내에 FMS3.5에서 지원하는 새로운 기능들, 그리고 DVR에 대해서 소개글을 쓰도록 하겠습니다.
(FLVPlayback 2.5버젼의 swc컴퍼넌트를 활용하여, FLEX로 구현하는 방식입니다.)
만들어놓고 3달도 더 지난 소개글을 발견해서.. 뒤늦게 포스팅합니다 ㅎㅎ

download.blog

Adobe FLEX 4 문서 한글화작업~

드디어 내일 Adobe CS5 버젼이 출시합니다.

모 이래저래 말도 많을것 같습니다만, (Apple의 Native Compiler 에 대한 Reject정책은 정말.. 할말 없군요)
애플을 사랑하면서 Adobe를 함께 사랑하는 한 노동자로써.. 평화의 분위기를 바래봅니다…

사용자 삽입 이미지
(링크 : http://www.adobe.com/kr/products/creativesuite/mastercollection/ )
이번 CS5패키지에 FlashBuilder4도 포함되어있습니다 (MasterCollection, Web Premium only)

문제는 IDE나 문서가 한글화가 안되어있다는거!!

열이아빠님의 미투데이의 글을 보고 저도 한글화작업에 참여하기로 했습니다.
현재 Adobe Flex4 문서는 영문버젼 외에 한글문서가 아직 없어서, Volunteer모집을 하시길래~
조금이나마 도움이 될까해서 참가신청을 했답니다.
맨날 다른분들이 해주신거만 보고 도움받고 그러다가 미력한 힘이나마 보탤수 있을거 같아서~

플렉스문서도구 – 한글
http://sites.google.com/site/koreanflexdoc/

사용자 삽입 이미지

문서 작업이 참여하고자 하시는 분은 아래 링크를 참고해주세요.
http://sites.google.com/site/koreanflexdoc/volunteer

FDS (Flex Data Service) #1


FDS에 대해 간단히 소개하면, 자바로 만들어진 프레임웍입니다.
Web Application Server에 Deploy되어 서버단의 자바클래스와 클라이언트 Flash와의 데이터 통신을 담당합니다.
그리고 데이터 처리를 위해 자바클래스를 정의해야 하기 때문에 FDS를 사용하기 위해서는 기본적으로 자바에 대한 지식이 있어야합니다.

Flex는 3가지 데이터 통신 서비스를 제공하는데 FDS를 사용할경우만 Binery데이터를 사용 할 수 있습니다. 다른 서비스의 경우는 XML포맷을 사용하기 때문에 호환성 측면에서는 좋을지 몰라도 데이터 사이즈 증가로 인해 성능이 저하되는 문제를 유발합니다. 그러므로 대용량 처리를 위해서는 반드시 FDS를 사용하여 효과적인 시스템을 구축해야 합니다.

제 1탄 FDS 까발리기
목차
1-1. FDS 설치하기
1-2. Cairngorm Framework란?
1-3. RemoteObject 사용하기
1-4. MessageService 사용하기

[강좌링크]
http://blog.naver.com/lmy20?Redirect=Log&logNo=20034446426

[스크랩] FDS2 & 톰캣4.1.34 설치

[펌 :http://blog.naver.com/ueureka?Redirect=Log&logNo=30013559326]

1
. Flex Data Services J2EE Web Application 설치



2.  HTTP,AMP,RTMP 채널사용.


    named http,리모트서비스,메세지서비스,데이타서비스를 사용하기


    MessageBroker에러 출력


 



2-1. http://java.sun.com/products/JavaManagement/download.html


JMX Remote API 1.0.1_03 Reference Implementation(JSR 3)


JMX 1.2.1 Reference Implementation(JSR 160)


        다운!!



2-2. j2sdk폴더\jre\lib\ext\  jar파일 복사!



2-3. 테스트


   local/WEB-INF/flex/service-config.xml 명시된 채널을 호출시 에러메세지가 출력되지 않으면


   완료!



 ===================service-config.xml ======================


…..


……


<channel-definition id=”test-amf-channel” class=”mx.messaging.channels.AMFChannel”>


<endpoint uri=”http://000.000.000.000:0000/flex/messagebroker/amf” class=”flex.messaging.endpoints.AMFEndpoint”/>


<properties>


<polling-enabled>false</polling-enabled>


</properties>


</channel-definition>





===========================================================


http://000.000.000.000:0000/flex/messagebroker/amf호출




3. [==>FDS2 DataService 톰캣에서 사용하기 위해선 반드시 거쳐야하는 과정]


   Unable to access UserTransaction in DataService” Error      .



  [참고] http://www.adobe.com/go/6b82874f



3-1. JTOM 다운로드 ( http://jotm.objectweb.org/)



  • Tomcat 4.1.x, Tomcat 5.0.x and Tomcat 5.5.x
  • JOTM 2.0.x


  [참고] http://static.raibledesigns.com/downloads/howto-tomcat-jotm.html



3-2.아래의 jar 파일을 톰캣 (tomcat-root/common/lib) 으로 복사해 준다.



  • jotm.jar
  • jotm_jrmp_stubs.jar
  • ow_carol.jar
  • jta-spec1_0_1.jar
  • jts1_0.jar
  • objectweb-datasource.jar
  • xapool.jar
  • howl.jar
  • commons-cli-1.0.jar
  • connector-1_5.jar


3-3.tomcat-root/conf/server.xml 내용추가후 톰캣 재실행!


  


   =================추가내용====================================


<Context path=”/웹어프리케이션루트명” docBase=”웹어플리케이션루트명” debug=”0″
reloadable=”true” crossContext=”true”>


<!– Resource configuration for UserTransaction
use JOTM
–>
<Resource name=”UserTransaction” auth=”Container”
type=”javax.transaction.UserTransaction”/>
<ResourceParams name=”UserTransaction”>
<parameter>
<name>factory</name>
<value>org.objectweb.jotm.UserTransactionFactory</value>
</parameter>
<parameter>
<name>jotm.timeout</name>
<value>60</value>
</parameter>
</ResourceParams>



</Context>


==============================================================



3-4.설치 테스트



===================테스트파일 test.jsp =============================


<%@ page import=”javax.naming.*,javax.transaction.*” %><%
Context ctx = new InitialContext();
UserTransaction tx = (UserTransaction)ctx.lookup(“java:comp/UserTransaction”);
tx.begin();
tx.commit();
%>
Success


================================================================


   Success”  ==>문장 출력시 설치 완료




4.java.lang.OutOfMemoryError 처리를 위한 톰캣배치파일 수정



4-1. 톰캣에서 자바 힙메모리를 증가시켜준다.  ==>-Xms256M -Xmx512M



4-2. 톰캣4.1.34기준


        톰캣루트\bin\catalina.bat –>내용수정



==========================catalina.bat=========================


……………………..


………………….



rem Execute Java with the applicable properties


if not “%JPDA%” == “” goto doJpda


if not “%SECURITY_POLICY_FILE%” == “” goto doSecurity


%_EXECJAVA% -Xms256M -Xmx512M %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs=”%JAVA_ENDORSED_DIRS%” -classpath “%CLASSPATH%” -Dcatalina.base=”%CATALINA_BASE%” -Dcatalina.home=”%CATALINA_HOME%” -Djava.io.tmpdir=”%CATALINA_TMPDIR%” %MAINCLASS% %CMD_LINE_ARGS% %ACTION%


goto end


………….


…………….


===============================================================