This is a mirror of official site: http://jasper-net.blogspot.com/

SharpKit

| Tuesday, July 17, 2012
Inline image 2

Develop large and complex web apps in teams, harnessing design-time features of Visual Studio, and the power of C# language.

Use classes, enums, interfaces, delegates, lambda expressions, extension methods, generics, ref and out parameters, anonymous objects, collection and object initializers, basically anything!

SharpKit is a powerful cross-compiler, that adapts any JavaScript syntax, to any library using simple and powerful metadata.

Read more: SharpKit
QR: Inline image 1

Posted via email from Jasper-net

IntroToRx.com

|
Inline image 2

IntroToRx.com is the online resource for getting started with the Reactive Extensions to .Net. Originally starting life as a blog series, it has now flourished into an online book. You can read it online here via the website, or get a copy of the Kindle edition for reading offline.

While the content is complete, save some changes from my editor, the site is still under construction. Feel free however to start reading what is ready now. The targeted version is 1.0.10621.0 (NuGet: Rx-Main v1.0.11226). Note that Rx has a v2.0 Beta, which has some new cool features. Those features are largely an addition to the v1 functionality, so you are still best off learning v1 before getting too carried away with the v2 features.

While the site is getting its finishing touches, you can be assured that we are busily working away on getting content for the soon to be released version 2.0 of Rx.

If you have any comments or requests, feel free to add them on the official Rx forums at this post.

Read more: IntroToRx.com
QR: Inline image 1

Posted via email from Jasper-net

Reactive Extensions – Simple asynchronous repository

| Monday, July 16, 2012
In Silverlight, all webservices calls are asynchronous. Therefore, when implementing a repository in Silverlight we have to do things a little bit differently as we would have done in Asp.Net or WPF.

Let’s take an example. We have a website exposing a list of customers through a WCF service. We want our Silverlight application to list all these customers inside a ListBox. The service can return tenth of thousands of customers. Because of that we cannot retrieve all of them within a single call.

Let’s see the definition of the Service :

[ServiceContract(Name = "CustomerService")]
public interface ICustomerService {
    [OperationContract]
    int Count();
 
    [OperationContract]
    IEnumerable<Customer> Get(int start, int count);
}

...
...

public class CustomerReactiveRepository {
    public IObservable<Customer> GetAll()
    {
        return Observable.Create<Customer>(observer => OnSubscribe(observer));
    }
 
    private static Action OnSubscribe(IObserver<Customer> observer)
    {
        try {
            var client = new CustomerServiceClient();
            client.CountCompleted += (sender, e) =>
            {
                if (e.Result > 1000)
                {
                    var state = new GetState { Count = e.Result, Offset = 0, Step = 500 };
                    ((CustomerServiceClient)sender).GetAsync(state.Offset, state.Step, state);
                }
                else ((CustomerServiceClient)sender).GetAsync(0, e.Result);
            };
 
            client.GetCompleted += (sender, e) =>
            {
                foreach (var c in e.Result)
                    observer.OnNext(c);
 
                var state = e.UserState as GetState;
 
                if (state != null && state.Offset + state.Step < state.Count)
                {
                    state.Offset += state.Step;
                    ((CustomerServiceClient)sender).GetAsync(state.Offset, state.Step,
                                                                state);
                }
                else {
                    ((CustomerServiceClient)sender).CloseAsync();
                    observer.OnCompleted();
                }
            };
 
            client.CountAsync();
        }
        catch (Exception e)
        {
            observer.OnError(e);
        }
 
        return () => { };
    }
 
    private class GetState {
        public int Offset { get; set; }
        public int Step { get; set; }
        public int Count { get; set; }
    }
}

Posted via email from Jasper-net

Metro Revealed: Building Windows 8 apps with XAML and C#

| Sunday, July 15, 2012

The key features for developing on Microsoft’s eagerly anticipated Windows 8 operating system are unveiled in this fast-paced 80-pageprimer. Windows 8 contains the revolutionary Metro application framework for building dynamic and responsive touch-enabled applications that target both desktops and mobile devices.

With the official release of Windows 8 looming ever closer, experienced author Adam Freeman invites you to take a crash course in Metro development. Using XAML and C#, he ensures you understand the changes that are being made to Windows development practices and puts you on the right course to creating innovative and elegant applications for this latest evolution of the world’s most successful operating system.

What you’ll learn
Create and configure Metro applications
Implement a touch-enabled user interface
Store data and application state using the Metro persistence model
Access remote data using Metro networking
Package and deploy your Metro application to the app store
Who this book is for
This book is for early-adopters of the Windows 8 operating system working with the Consumer Preview in order to be ahead of the curve in understanding the new ways of working that the operating system introduces.

Table of Contents
Creating the UI
Responding to the User
Storage and Persistence
NetworkingPackaging and Deployment
These chapters are supported by a substantial stand alone code sample.

-------
This email message and any attachments thereto are intended only for use by the addressee(s) named above, and may contain legally privileged and/or confidential information. If the reader of this message is not the intended recipient, or the employee or agent responsible to deliver it to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please immediately notify the jjasper22@gmail.com and destroy the original message.


Apress.Metro.Revealed.XAML.and.Csharp.Jun.2012.pdf Download this file

0Apress.Metro.Revealed.XAML.and.pdf Download this file

Posted via email from Jasper-net