If you have multiple .a files you need to do the same by adding them to the same project.

Now comes to the frameworks. Inside the framework folder you will find Headers folder and executable file with no extension.What you will need to do is rename this executable and add .a extension and treat it like the previous files.

And for the Header files in the Headers folder we will use Objective Sharpie to generate the Api interface as per the walkthrough.

Using your binding project

As per the walkthrough you need to add a reference to your generated dll. But what I want to talk about is how to use the Bundle folders that came with the SDK.

This was a bit confusing because inside the bundle folder there were some .xib files and I thought I need to treat them differently but turns out not.

So what you need to do is just drag the bundle folder , or Add Existing Folder and select your bundle folder , But make sure you add it to the root of the project.

After that if your SDK is looking for some assets in there bundle folder it should find it.

Working with different developers in different project and organisations made me able to see different development tools (Productivity tools) I’m a DotNet Developer so I’m not talking about Visual Studio but talking about other tools surrounding this main dev tool

Source Control

I use Git for about 3 years now if you don’t you need to consider doing NOW

1 – I use on Windows Git Extensions also you can check GUIS for other Git UI clients on different platforms

2 – While installing git make sure in the installation you choose the option to run git commands from the Windows Command Line because Bash (Unix command line) is very slow on windows

3 – In your profile in Windows you should have some shortcuts that help you speed up your dev process you can find mine here https://github.com/waelemara/WindowsProfile

Visual Studio

Obviously Visual Studio is the main and the most important tool we use as .net developers but there are alot of things you can do to it to make it much better

1 – Resharper this is the most beautiful thing that happened to Visual Studio it adds a lot of goodness to VS it adds 85 shortcuts , refactoring snippets and it have a very good integration with LINQ it is a MUST have tool

2 – Web Essentials it is an Addin that gives you many Web features like tow views to LESS file editing and so on

That it for now i will keep this post updated as i add to my dev environment

one of the issues I find when using Parallels on my Mac (and I’m a developer ) is the Ctrl Arrow combinations with Shift and this is not enabled by default because on Mac Ctrl Arrow switch between Full Screen Apps , but there is a solution for this ,

I will focus on the new way here , in .net 4.5 we can use the ( async , await ) new keywords to tell the compiler , well we have an async method being called , this applies to actions so we can mark the action to be and async and instead of breaking the logic into two methods ( that looks ugly and breaks the logical sequence of the code ) to the normal action method but we need to tell the compiler this is an async controller

so the normal code looks like this

public ActionResult Index()

{

var faceBookCount = GetFacebookCommentCount(); // takes some time

var commentCount = GetFacebookLikeCountAsync(); // takes some time

var faceBookStatus = new FaceBookStatus()

{

FaceBookCount = faceBookCount,

CommentCount = commentCount

};

return View(faceBookStatus);

}

to be :

public async Task<ActionResult> Index()

{

var faceBookCount = await GetFacebookCommentCountAsync();

var commentCount = await GetFacebookLikeCountAsync();

var faceBookStatus = new FaceBookStatus()

{

FaceBookCount = faceBookCount,

CommentCount = commentCount

};

return View(faceBookStatus);

}

so this makes the application pool release the thread that is handling your request and then assign another one to handle the request after the function marked with await finished work so the web server does not get blocked

So usually in writing JavaScrip in any website , things get missy and memory consumption gets nasty and a lot of time spent on profiling and debugging why the JavaScript gets so slow one of the reasons i found making writing JavaScript is that any thing can work , just place a script tag and write whatever you want and it will work
So i want to give you an example of writing a better JavaScript that can make your JavaScript run with better performance and this is called “Self Infoking anonymous function excepression” or in other words encapsulating your code which is written in various JavaScript files , so every one off them will be in it’s own temporarily scop and will be destructed once the execution finishesBAD
<script type=”text/javascript”>
var showAlert = function(){
alert(x);
};
</script>

What this code means that your showAlert function is exposed to the global namespace level which in meny cases does not have logical meaning unless you are having this as a utility function and want to expose itGOOD
<script type=”text/javascript”>
(function(){
var showAlert = function(){
alert(x);
})();
</script>

Now you have this anonymous function that will be self invoked and it will have it’s own scoop so your showAlert function wont be exposed to the Global namespace