segunda-feira, 30 de maio de 2011

Loading Applications - About application domains

About application domains

An application domain is a container for class definitions. Applications have a single, top-level application domain called the system domain. When you load a sub-application into another, main application, you can load it into one of three application domains: sibling, child, and current. Each of these locations defines where the sub-application can get its class definitions from.

The System domain

Classes defined by Flash Player are in the system domain. The system domain parents all other application domains. The main application’s application domain is a child of the system domain. Classes defined in the system domain are never redefined in sub-applications or main applications. Those applications all share the common definitions of Flash Player. These definitions include classes such as DisplayObject, Event, and Sprite. The definitions of these shared classes are contained in the playerglobal.swc file.

Sibling applicaton domains

The application domain that a sub-application is in determines where the sub-application gets its class definitions from. If the main application loads a sub-application into a sibling application domain, the sub-application defines its own non-player class definitions. This is the configuration for multi-versioned applications.

Child application domains

If a main application loads a sub-application into a child application domain of its application domain, the subapplication gets its class definitions from the main application. This behavior is the default for application loading. It can result in runtime errors if the applications are compiled with different versions of the Flex framework. These errors occur because the applications are sometimes compiled against different definitions of the same classes.

If a sub-application defines one of the classes that is already defined in the main application, the child’s definition is ignored. If multiple sub-applications define the same class that isn’t defined in the main application, each sub-application uses its own definition.

The current application domain

If you load a sub-application into the current application domain, the sub-application’s class definitions are often ignored. This behavior is because the first definition in a domain is used. Subsequent definitions loaded into that domain are ignored. If new class definitions are added, the main application can use them.

Using the current application domain is typical of RSLs and other specially compiled resources, and is not typically used when loading sub-applications.

Setting application domain

You specify the application domain of a sub-application by setting the value of the loadForCompatibility property on the SWFLoader. If you set the value of this property to true, then the sub-application is loaded into a sibling application domain. If you set the value of this property to false (default), then the sub-application is loaded into a child application domain.

You can also specify the application domain on the LoaderContext object. You do this if you specify the value of the loaderContext property when using the SWFLoader control.

Note: The value of the loadForCompatibility property is ignored if you explicitly set the value of the loaderContext property.

quinta-feira, 26 de maio de 2011

Oportunidade Guaíba - RS

Oportunidade para formados em nível superior em informática, licenciatura ou que tenha tido cadeira de pedagogia.

Mais detalhes envie currículo para fabiano@ouromoderno.com.br

quarta-feira, 25 de maio de 2011

Loading Applications - About loading sub-applications

About loading sub-applications

Flex lets you load and unload sub-applications in a main application. Reasons:
  • Reduce the size of the main application
  • Encapsulate related functionality into a sub-application
  • Create reusable sub-applications that can be loaded into different applications
  • Integrate third-party applications into your main application
Level of interoperability

The way in which the sub-application is loaded defines the level of interoperability between the main application and its sub-applications. Consider the following factors when loading sub-applications in your main application:

Trusted applications What level of trust do the applications have? The higher the level of trust greater interoperability with the main application. In general, though, if you do not have complete control over the development and deployment of a loaded application, consider that application to be untrusted.

Versioning Are the applications compiled with the same version of the Flex framework? The default method of loading sub-applications assumes that all applications are compiled by the same version of the framework. However, Flex can load applications that were compiled with different versions of the framework. These applications are known as multi-versioned applications.

The level of trust and use of versioning are determined by the application domain and the security domain into which the sub-applications are loaded.

Types of loading


Single-versioned applications are guaranteed to have been compiled with the same version of the compiler as the main application. They have the greatest level of interoperability with the main application, but they also require that you have complete control over the source of the sub-applications.

Multi-versioned applications can be compiled with different versions of the Flex framework than the main application that loads them. Their interoperability with the main application and other sub-applications is more limited than single-versioned applications.

Sandboxed applications are loaded into their own security domains, and can be multi-versioned. Using sandboxed applications is the recommended practice for loading third-party applications. In addition, if your sub-applications use RPC or DataServices-related functionality, you should load them as sandboxed.

Sandboxed applications have the greatest number of limitations on application interoperability. These restrictions include the following:
  • Stage Access to the stage from the sub-application is limited to some stage properties and methods.
  • Mouse You cannot receive mouse events from objects in other security domains.
  • Pixels Applications cannot access the pixels drawn in applications that are in other security domains.
  • Properties While applications can get references to objects in other security domains, avoid doing this for security reasons. Some properties are restricted, such as the Stage or any parent of a DisplayObject that another application instantiates.

Note: multi-versioned and sandboxed applications must be compiled with the same or older version of the compiler the main application was compiled with.

Note: When compiling each of these types of applications (multi-versioned and sandboxed), you should include the MarshallingSupport class into the main application and sub-applications. You do this with the includes compiler argument, as the following example shows:
-includes=mx.managers.systemClasses.MarshallingSupport

Loadding Applications - Preface

Existem várias formas e práticas para diminuir o swf final ou carregá-lo sobre demanda diminuindo a carga de banda.

Algumas formas: RSL,
CSS carregado em runtime, Módulos e Loadding Application (Sub-Apps).

Estarei lançando a partir de hoje uma série de posts falando sobre Loadding Application, o primeiro posto daqui a pouco, espero que seja útil.

Na sua maioria estes posts se consistem de um resumo da documentação oferecida pela Adobe neste site.

[]s

sábado, 21 de maio de 2011

Aprendendo Flex

Para quem quer aprender Flex algumas dicas de livros, apostilas e treinamentos.

Documentação
A própria Adobe libera uma documentação em inglês muito boa e bem detalhada sobre Flex, você pode baixar esta documentação deste site.

Livros
Há também muitos livros, inclusive um lançamento recente e recomendado traduzido para a língua portuguesa é o livro Flex 4 Avançado que foi avaliado pelo Igor Costa, sendo que ainda conseguiu um desconto para os leitores.

Treinamentos
Nesta modalidade existe os treinamentos on-line e presenciais, abaixo listo os que conheço.
Aqui pediria que se souberem de outros que recomendam, coloquem nos comentários que será útil.

Treinamentos on-line
Eduardo Kraus
E-Genial - Ministrado pelo Vedovelli
RIACycle - Ministrado pelo Igor Costa

Treinamentos presenciais
DClick - SP
ENG - SP / PR e DF
TargetTrust - RS - Ministrado por mim

Dos treinamentos acima, também oferecem treinamento in-company em qualquer parte do Brasil.

sexta-feira, 20 de maio de 2011

Desenvolvedores Flex / Java - Home Office

A Integritas Tecnologia - Open Solutions está contratando 3 a 4 desenvolvedores Flex/Java, para trabalho em tempo integral, com horário flexível, para início em meados de Junho, via home office, na modalidade PJ.

Requisitos:
1) conhecimento de um framework Flex MVC, especialmente Cairgor
m 3
2) conhecimento do framework BlazeDS, para integração Flex/Java

3) Flex 4

4) Spring + Hibernate


Por favor, enviem currículo para: rh@integritas.com.br

sexta-feira, 13 de maio de 2011

Oportunidade Lisboa MyClick

Empresa com sede em Lisboa (www.myclick.com.pt) precisa de programador em Flex e Php (obrigatório conhecimento das duas linguagens) para criação de sistemas online.

Interessados devem enviar curriculum para rebelo@myclick.com.pt ou adicionar joaoricardogomesrebelo no skype para entrevista online.

[]s

quarta-feira, 11 de maio de 2011

Estágio Java / Flex - Florianópolis / SC

A empresa Inside System Informática Ltda está a procura de estagiário para desenvolvimento com Java e Flex.

Mais detalhes aqui.

segunda-feira, 9 de maio de 2011

Nova Fase - Freelancer (Como está sendo)

Em post anterior divulguei que tinha assumido uma nova fase profissional, a de freelancer.

Me perguntaram como foi essa transição, e aqui vai a resposta.

Essa transição foi tranquila, pois desde final de 2009 dou treinamento de Adobe Flex na TargetTrust aqui em Porto Alegre - RS e a procura aumentou levemente.
Inclusive já ministrei treinamentos in-company:
Azul Tecnologia de Fortaleza - CE, projeto Engnatv na faculdade Feevale e BSInfo em Bento Gonçalves - RS.

Outra coisa que mudou foi que um cliente (Ouro Moderno) que atendia a noite após o horário comercial que era um extra, sabendo da minha maior disponibilidade "comprou" minhas horas comerciais, deixando de ser um extra para ser minha renda principal.

O que realmente está complicado é o gerenciamento do tempo depois do horário comercial, para harmonizar trabalho e família, sou casado e tenho uma filha pequena, e principalmente para filha fica difícil fazê-la entender que o pai ainda precisa trabalhar a noite mesmo tendo estado fora o dia inteiro. Aqui vai uma dica importante: gerencie o tempo.

Já quem tem um produto ou tem um em mente recomendo investir nesse produto, pois um produto irá gerar
fluxo de caixa mesmo que você não esteja alocado em nenhum projeto.

Veja mais:
Currículo online
Retrospectiva 2010
Treinamentos ministrados