Ñîôò-Àðõèâ

Facebook Android img-1

Facebook Android

Ðåéòèíã: 4.0/5.0 (1885 ïðîãîëîñîâàâøèõ)

Îïèñàíèå

Android Facebook Integration Tutorial

Android - Facebook Integration Tutorial

Previous Page

Android allows your application to connect to facebook and share data or any kind of updates on facebook. This chapter is about integrating facebook into your application.

There are two ways through which you can integrate facebook and share something from your application. These ways are listed below −

  • Facebook SDK
  • Intent Share
Integrating Facebook SDK

This is the first way of connecting with facebook. You have to register your application and then receive some Application Id. and then you have to download the facebook SDK and add it to your project. The steps are listed below:

Generating application signature

You have to generate a key signature, but before you generate it, make sure you have SSL installed, otherwise you have to download SSl. It can be downloaded here .

Now open command prompt and redirect to your java jre folder. Once you reach there, type this command exactly. You have to replace the path in the inverted commas with your keystore path which you can found in eclipse by selecting the window tab and selecting the preferences tab and then selecting the build option under android from left side.

Once you enter it, you will be prompt for password. Give android as the password and then copy the key that is given to you. It is shown in the image below −

Registering your application

Now create a new facebook application at developers.facebook.com/apps and fill all the information. It is shown below −

Now move to the native android app section and fill in your project and class name and paste the hash that you copied in step 1. It is shown below −

If everything works fine, you will receive an application ID with the secret. Just copy the application id and save it somewhere. It is shown in the image below −

Downloading SDK and integrating it

Download facebook sdk here. Import this into eclipse. Once imported, right click on your facebook project and click on properties.Click on android, click on add button and select facebook sdk as the project.Click ok.

Creating facebook login application

Once everything is complete. you can run the samples, that comes with SDK or create your own application. In order to login, you need to call openActiveSession method and implements its callback. Its syntax is given below −

Intent share

Intent share is used to share data between applications. In this strategy, we will not handle the SDK stuff, but let the facebook application handles it. We will simply call the facebook application and pass the data to share. This way, we can share something on facebook.

Android provides intent library to share data between activities and applications. In order to use it as share intent. we have to specify the type of the share intent to ACTION_SEND. Its syntax is given below −

Next thing you need to is to define the type of data to pass. and then pass the data. Its syntax is given below −

Apart from the these methods, there are other methods available that allows intent handling. They are listed below −

Method & description

Äðóãèå ñòàòüè, îáçîðû ïðîãðàìì, íîâîñòè

Facebook (Android)

Official Facebook app for Android

Facebook is the de facto social network to connect with the rest of the World. Thanks to its official app for Android, you can do virtually everything you can in the web version, from anywhere you go.

Connect with your world

Facebook for Android allows you to: update your status, share links and photos, write private messages (through Facebook Messenger ), comment on friends' updates, 'Like' pages and comments, and configure your profile from your mobile.

The chat feature in Facebook for Android allows you to record voice messages and send them to your friends. It supports 'Chat heads ', which are shortcut icons that appear over the top of Facebook, offering you a shortcut to a conversation.

If you're an administrator of a Facebook page you can install the Facebook Pages Manager app. With this app installed, when you access a page that you control, the app will open automatically and you can manage the page.

Total control

Facebook integrates nicely within the Android operating system. The notification system is flawless, and it's very comfortable to share links to Facebook through any app on your device.

In terms of the Facebook for Android interface, the app shows your news feed when you start up. You can then simply swipe to navigate through the different sections of Facebook, such as friend requests, messages, and notifications. The final menu on toolbar gives you access to other Facebook features such as Events, Photos, Notes, Feeds, and Groups.

There are shortcut buttons in Facebook for Android for adding a status update. posting a photo. and checking in to a place. A search button allows you to very quickly look for something anywhere on Facebook.

If you want to access the Facebook chat feature, hit the button that appears in the top-right corner of the app. A sidebar will slide out, showing you which of your contacts are online, and allowing you to open a chat window with a single tap on their name.

Of course, not everyone will be happy with the way Facebook works on Android. For starters, posts in the news feed don't appear in the order they were added. which can get frustrating if you want to see what you're friends are doing now, rather than seeing just 'top stories' first. To access the 'Most Recent' feature, you need to navigate to it through the menu on the right of the screen.

Android tablet users may be disappointed too, since the Facebook app isn't optimized well for large-screen devices. It would be nice if Facebook developed a layout more like the iPad version of the app, where the space is much easier to get around, and elements are beefed up so the design doesn't look so barren. If you're using a tablet to view Facebook, I'd recommend Friendcaster which has a much friendlier design.

Officially speaking it's OK

Although it's not perfect, the official Facebook app has the benefit of being constantly updated with the latest Facebook features and services. It makes it easy to stay in touch with your friends, and that's a good thing, surely.

What's new in the latest version of Facebook for Android?

Another new option within the news feed is the ability to tap on the down arrow in a post to remove a post from your timeline or directly unfollow a person.

Getting Started with Facebook Android SDK

Getting Started Install the Facebook application

To take advantage of the native Facebook dialogs, the Facebook application must be installed on the device. If the Facebook application is not installed on the device, fallbacks to Web based dialogs can instead be used. If you are testing on an emulator which does not have the ability to install Facebook from the Play store, you can install FBAndroid.apk which is included in the SDK which can be downloaded from: https://developers.facebook.com/docs/android/downloads

Facebook Developers site - Create an app

In order to integrate with Facebook's login, you must have a Facebook app setup on your Facebook Developer site. More information on how to create an app can be found at https://developers.facebook.com/docs/android/getting-started/#create-app

Creating your Key Hashes

As part of creating your app, you will need to provide a hash of your app's keystore's key. Keep in mind that you will be signing your app with a different keystore when you are publishing to the Play Store. You must add the key hashes of any keystores you use to build/test/publish your app to your Facebook app.

The default keystore that Xamarin.Android uses (which has an alias of androiddebugkey ) can be found at:

To generate a Key Hash, we need to execute the following commands (if you're not using the default Xamarin.Android debug.keystore, make sure you specify the correct alias for the keystore you created):

The output from the command above is the hash you need to add to your Facebook app.

Adding MetaData and Permissions

To integrate with Facebook SDK, your app must declare the App ID of the app you created on the Facebook Developer site (this should be on your App's dashboard). This App ID must be specified in your AndroidManifest.xml file. The easiest way to do this is with an attribute:

Your app_id should be defined in your /Resources/values/strings.xml file like this:

You must also declare permissions for INTERNET and WRITE_EXTERNAL_STORAGE which can be done with these attributes:

Add Facebook Activity to your Manifest

If you plan on using Facebook's Login or Share (if you are unsure, you should add this), you should declare the activity within your own Application's AndroidManifest.xml. inside of the <application></application> tag:

Facebook Login in your App

To have your app log a user into Facebook, you will want to create and open a new Session. The Facebook SDK by default will manage caching your access token and login state for you, all you need to do is ensure you ask to open the session at some point in your app before trying to use the Session.ActiveSession. The sample below shows how to open a session, listen for the status result of that request, and then make a request to the Graph API to get the name of the currently logged in user. Note that you must pass the OnActivityResult calls over to the ActiveSession so Facebook can join in the lifecycle of activity results. Once you have an open and active session, you can access the Session.ActiveSession.AccessToken for use in your Graph API library of choice (it does not have to be the one in this SDK).

Sending images or videos

If you're sharing links, images, or video via the Facebook for Android app, you also need to declare the FacebookContentProvider in your manifest inside the <application> element.

Append your app id to the end of the authorities value. For example if your Facebook app id is 1234. the declaration looks like this:

The sample apps included in the component demonstrate how to do basic login and sharing, as well as sharing through Messenger.

You must have Messenger installed on the device you want to test the Messenger Send Sample on.

Facebook android

Facebook SDK for Android

This open-source library allows you to integrate Facebook into your Android app.

Learn more about about the provided samples, documentation, integrating the SDK into your app, accessing source code, and more at https://developers.facebook.com/docs/android

GIVE FEEDBACK

You can also join the Facebook Developers Group on Facebook (https://www.facebook.com/groups/fbdevelopers/ ) or ask questions on Stack Overflow (http://facebook.stackoverflow.com )

CONTRIBUTING

We are able to accept contributions to the Facebook SDK for Android. To contribute please do the following.

  • Follow the instructions in the CONTRIBUTING.mdown .
  • Submit your pull request to the dev branch. This allows us to merge your change into our internal master and then push out the change in the next release.

Except as otherwise noted, the Facebook SDK for Android is licensed under the Facebook Platform License (https://github.com/facebook/facebook-android-sdk/blob/master/LICENSE.txt ).

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

DEVELOPER TERMS

By enabling Facebook integrations, including through this SDK, you can share information with Facebook, including information about people’s use of your app. Facebook will use information received in accordance with our Data Use Policy (https://www.facebook.com/about/privacy/ ), including to provide you with insights about the effectiveness of your ads and the use of your app. These integrations also enable us and our partners to serve ads on and off Facebook.

You may limit your sharing of information with us by updating the Insights control in the developer tool (https://developers.facebook.com/apps/[app_id]/settings/advanced ).

If you use a Facebook integration, including to share information with us, you agree and confirm that you have provided appropriate and sufficiently prominent notice to and obtained the appropriate consent from your users regarding such collection, use, and disclosure (including, at a minimum, through your privacy policy). You further agree that you will not share information with us about children under the age of 13.

You agree to comply with all applicable laws and regulations and also agree to our Terms (https://www.facebook.com/policies/ ), including our Platform Policies (https://developers.facebook.com/policy/ ) and Advertising Guidelines, as applicable (https://www.facebook.com/ad_guidelines.php ).

By using the Facebook SDK for Android you agree to these terms.

Android Facebook Login Example - Examples Java Code Geeks

Subscribe to our newsletter and download the Android UI Design mini-book right now! 1. Generating Application Signature for Facebook Settings

The creation of a native android app, which integrates facebook, requires the application to be given a digital signature through facebook settings. That kind of signatures can easily be generated using the keytool executable, which comes along with the Java Runtime Environemt (jre). The command should look like this (when there is a password prompt, just type “android” and hit enter):

Figure 1. Creating a key hash

2. Creating Facebook Application

Visit facebook ‘s developers page and click on “Add a New App”. Type the name of the applications and click “Create New Facebook App ID”.

Then, you have to select the exact category that your app targets to (i.e. video, weather, communication, etc.). Select from the dropdown and click again “Crate App ID”.

When you app is created, you will be redirected to its “quickstarts” page. The Key Hashes is where our interest should be focused, but we first have to provide the package name and the default activity’s name of our native app.

Be careful here, you must follow the same namings while creating the project in Eclipse, too.

Click “Next” and you ‘ll be guided to the Key Hashes section, where you have to provide the previously created with keytool signature:

Figure 2. Providing a key hash

Click “Next” and navigate back to the newly created app’s dashboard. You ‘ll there find an App ID field. Please write down its value, as it will be used for connectivity verification.

An example of what the above lines describe follows:

Adding Facebook integration to an Android application

ShareOnFacebook activity

Below is the complete source code for our activity. For some people, this will probably be the only interesting part.

In what follows, we will go through the code step by step.

1. onCreate

In the onCreate method we are restoring the previously stored credentials – if any – from the SharedPreferences of the app. As we will see later, these will be set after succesful authentication.

In the onCreate method we are also setting the view to the following layout xml file:

In the AndroidManifest.xml file, we are also specifying the activity as:

so our activity will be displayed as a dialog box, showing as:

Obviously, when the “No” button is clicked, nothing fancy happens – the activity just finishes. More interesting is the “Yes” button though, which will execute the share method on our activity.

This share method is implemented as:

So, if our session is not valid(if we dont have a token or the token is expired, the isSessionValid method will fail, so the user will initiate the login process again), the user will be asked to login to facebook, give the app the necessary permissions and authorize the wallpost. If the session is valid, the user will only be asked to authorize the wallpost. We will assume the user is not logged in yet. The second scenario is just a subset of the first one.

3. loginAndPostToWall

This method consists of just one line:

This method call will present the following dialog box on the left to the user:

after, if the user logs in succesfully, he will be asked to give permission to this app to post to his wall, as shown in the right part of the pic.

Notice how the facebook android api allows us to add custom listeners for certain events, in this case all events related to authentication.

EDIT: If the Facebook app is installed on the phone, the Facebook.FORCE_DIALOG_AUTH parameter makes sure authentication is forced. Without it, all the above will result in an endless spinning wheel, because the app keeps waiting on a login dialog but never gets it.

The implementation of our custom listener looks like this:

So, in case of failure, we will show the user a notification of the failure and finish the activity. In case of succesful authentication we are storing the credentials in the shared preferences of the application, and we are posting the message to the wall through the postToWall method.

4. postToWall

Before, the following dialog box used to be presented to the user:

But when using the new Graph API(“me/feed”), the message is directly sent through and posted to the user’s wall, without asking for confirmation.

Our method is a bit longer than the previous one:

Facebook Mobil Indir - Android Icin Facebook Uygulamas? (Mobil)

Facebook Mobil

Can Cevrim Son guncelleme 2 y?l once

Populer Sosyal Medya Uygulamas? Facebook Art?k Android'de

Facebook Android uygulamas? sayesinde populer sosyal medya sitesi Facebook uzerinde olan biten her seyi nerede olursan?z olun mobil cihazlar?n?z arac?l?g?yla rahatl?kla takip edebilirsiniz. Facebook taraf?ndan gelistirilen resmi Facebook uygulamas? olarak dikkat ceken Facebook Mobil. arkadaslar?n?zla iletisim kurman?n en h?zl? yollar?ndan bir tanesi.

Sadece arkadaslar?n?z d?s?nda sizleri neredeyse tum dunyaya baglayan bir uygulama olan Facebook ile o anki durumunuzu guncelleyebilir, hosunuza giden baglant?lar? ve fotograflar? paylasabilir, Facebook uzerinde yer alan diger kullan?c?lara ozel mesajlar gonderebilir, arkadaslar?n?z?n durum guncellemelerine yorumlar yazabilir veya durum guncellemelerini begenebilir, kisisel profilinizi duzenleyebilir, arkadaslar?n?z?n profillerine goz atabilir ve cok daha fazlas?n? yapabilirsiniz.

Uygulama icerisinde yer alan sohbet ve mesajlasma ozelligi sayesinde arkadaslar?n?za yaz?l? mesajlar gonderebileceginiz gibi sesli mesajlar ve fotograflar da gonderebilirsiniz. Ayr?ca yine sohbet ozelligi uzerinde yer alan ifadeleri kullanarak, mesajlar?n?z? cok daha eglenceli bir hale getirebilirsiniz.

Tum bu guzel ozelliklerin d?s?nda Facebook uzerinde yoneticisi oldugunuz sayfalar? da yine Facebook Android uygulamas? yard?m?yla yonetebilir, sayfalar?n istatistiksel bilgilerini goruntuleyebilir veya sayfalar uzerinden paylas?m yapabilirsiniz.

Android isletim sistemiyle oldukca entegre ve ak?c? bir sekilde cal?san Facebook Mobil uygulamas? sayesinde, cihaz?n?z uzerinde kulland?g?n?z diger uygulamalar uzerinden kolayca Facebook uzerinde paylas?mlar da yapabilme sans?na sahip olacaks?n?z.

Ayn? zamanda oldukca s?k, modern, sade ve anlas?l?r bir kullan?c? arayuzune sahip olan uygulamay? ilk kez cal?st?rd?g?n?z zaman size ait olan yay?n ak?s? sayfas?yla kars?lasacaks?n?z. Bu bolum uzerinde arkadaslar?n?z taraf?ndan yak?n zamanda paylas?lm?s olan tum icerikleri goruntuleyebilirsiniz. Mesajlar, arkadasl?k istekleri, profiliniz, arkadas arama ve arkadaslar?n?z?n profillerini kolayca farkl? sekmeler alt?nda goruntuleyebilirsiniz. Ayr?ca etkinlikler, fotograflar, notlar, gruplar ve cok daha fazlas?na kolayca ulasabilirsiniz.

Eger Facebook uzerinde yer alan sohbet ozelligini seviyorsan?z ve o an hangi arkadaslar?n?z?n Facebook uzerinde cevrimici oldugunu gormek isterseniz, yine Facebook Mobil uygulamas? sayesinde cevrimici arkadaslar?n?z? gorebilir ve onlarla hemen bir sohbet baslatabilirsiniz.

Her ne kadar Facebook web surumu kadar etkili bir kullan?ma ve web surumu uzerinde yer alan tum ozelliklere sahip olmasa da kullan?c?lara eksiksiz bir Facebook deneyimi yasamalar? icin ihtiyac duyabilecekleri tum ozellikleri sunmaya cal?san Facebook Android uygulamas?, sahip oldugu ozellikler dusunuldugu zaman gercekten de kullan?c?lara etkili bir cozum sunuyor.

Facebook Mobil Icin Yap?lan Yorumlar (142)

Facebook android

React Components, Elements, and Instances

December 18, 2015 by Dan Abramov

The difference between components, their instances, and elements confuses many React beginners. Why are there three different terms to refer to something that is painted on screen?

Managing the Instances #

If you’re new to React, you probably only worked with component classes and instances before. For example, you may declare a Button component by creating a class. When the app is running, you may have several instances of this component on screen, each with its own properties and local state. This is the traditional object-oriented UI programming. Why introduce elements ?

In this traditional UI model, it is up to you to take care of creating and destroying child component instances. If a Form component wants to render a Button component, it needs to create its instance, and manually keep it up to date with any new information.

This is pseudocode, but it is more or less what you end up with when you write composite UI code that behaves consistently in an object-oriented way using a library like Backbone.

Each component instance has to keep references to its DOM node and to the instances of the children components, and create, update, and destroy them when the time is right. The lines of code grow as the square of the number of possible states of the component, and the parents have direct access to their children component instances, making it hard to decouple them in the future.

So how is React different?

Elements Describe the Tree #

In React, this is where the elements come to rescue. An element is a plain object describing a component instance or DOM node and its desired properties. It contains only information about the component type (for example, a Button ), its properties (for example, its color ), and any child elements inside it.

An element is not an actual instance. Rather, it is a way to tell React what you want to see on the screen. You can’t call any methods on the element. It’s just an immutable description object with two fields: type: (string | ReactClass) and props: Object 1 .

DOM Elements #

When an element’s type is a string, it represents a DOM node with that tag name, and props correspond to its attributes. This is what React will render. For example:

This element is just a way to represent the following HTML as a plain object:

Note how elements can be nested. By convention, when we want to create an element tree, we specify one or more child elements as the children prop of their containing element.

What’s important is that both child and parent elements are just descriptions and not the actual instances. They don’t refer to anything on the screen when you create them. You can create them and throw them away, and it won’t matter much.

React elements are easy to traverse, don’t need to be parsed, and of course they are much lighter than the actual DOM elements—they’re just objects!

Component Elements #

However, the type of an element can also be a function or a class corresponding to a React component:

This is the core idea of React.

An element describing a component is also an element, just like an element describing the DOM node. They can be nested and mixed with each other.

This feature lets you define a DangerButton component as a Button with a specific color property value without worrying about whether Button renders to a DOM <button>. a <div>. or something else entirely:

You can mix and match DOM and component elements in a single element tree:

Or, if you prefer JSX:

This mix and matching helps keep components decoupled from each other, as they can express both is-a and has-a relationships exclusively through composition:

  • Button is a DOM <button> with specific properties.
  • DangerButton is a Button with specific properties.
  • DeleteAccount contains a Button and a DangerButton inside a <div> .
Components Encapsulate Element Trees #

When React sees an element with a function or class type. it knows to ask that component what element it renders to, given the corresponding props .

When it sees this element:

React will ask Button what it renders to. The Button will return this element:

React will repeat this process until it knows the underlying DOM tag elements for every component on the page.

React is like a child asking “what is Y” for every “X is Y” you explain to them until they figure out every little thing in the world.

Remember the Form example above? It can be written in React as follows 1 :

That’s it! For a React component, props are the input, and an element tree is the output.

The returned element tree can contain both elements describing DOM nodes, and elements describing other components. This lets you compose independent parts of UI without relying on their internal DOM structure.

We let React create, update, and destroy instances. We describe them with elements we return from the components, and React takes care of managing the instances.

Components Can Be Classes or Functions #

In the code above, Form. Message. and Button are React components. They can either be written as functions, like above, or as classes descending from React.Component. These three ways to declare a component are mostly equivalent:

When a component is defined as a class, it is a little bit more powerful than a functional component. It can store some local state and perform custom logic when the corresponding DOM node is created or destroyed.

A functional component is less powerful but is simpler, and acts like a class component with just a single render() method. Unless you need features available only in a class, we encourage you to use functional components instead.

However, whether functions or classes, fundamentally they are all components to React. They take the props as their input, and return the elements as their output.

Top-Down Reconciliation #

When you call:

React will ask the Form component what element tree it returns, given those props. It will gradually “refine” its understanding of your component tree in terms of simpler primitives:

This is a part of the process that React calls reconciliation which starts when you call ReactDOM.render() or setState(). By the end of the reconciliation, React knows the result DOM tree, and a renderer like react-dom or react-native applies the minimal set of changes necessary to update the DOM nodes (or the platform-specific views in case of React Native).

This gradual refining process is also the reason React apps are easy to optimize. If some parts of your component tree become too large for React to visit efficiently, you can tell it to skip this “refining” and diffing certain parts of the tree if the relevant props have not changed. It is very fast to calculate whether the props have changed if they are immutable, so React and immutability work great together, and can provide great optimizations with the minimal effort.

You might have noticed that this blog entry talks a lot about components and elements, and not so much about the instances. The truth is, instances have much less importance in React than in most object-oriented UI frameworks.

Only components declared as classes have instances, and you never create them directly: React does that for you. While mechanisms for a parent component instance to access a child component instance exist, they are only used for imperative actions (such as setting focus on a field), and should generally be avoided.

React takes care of creating an instance for every class component, so you can write components in an object-oriented way with methods and local state, but other than that, instances are not very important in the React’s programming model and are managed by React itself.

An element is a plain object describing what you want to appear on the screen in terms of the DOM nodes or other components. Elements can contain other elements in their props. Creating a React element is cheap. Once an element is created, it is never mutated.

A component can be declared in several different ways. It can be a class with a render() method. Alternatively, in simple cases, it can be defined as a function. In either case, it takes props as an input, and returns an element tree as the output.

When a component receives some props as an input, it is because a particular parent component returned an element with its type and these props. This is why people say that the props flows one way in React: from parents to children.

An instance is what you refer to as this in the component class you write. It is useful for storing local state and reacting to the lifecycle events .

Functional components don’t have instances at all. Class components have instances, but you never need to create a component instance directly—React takes care of this.

Finally, to create elements, use React.createElement(). JSX. or an element factory helper. Don’t write elements as plain objects in the real code—just know that they are plain objects under the hood.

Further Reading #

All React elements require an additional $$typeof: Symbol.for('react.element') field declared on the object for security reasons. It is omitted in the examples above. This blog entry uses inline objects for elements to give you an idea of what’s happening underneath but the code won’t run as is unless you either add $$typeof to the elements, or change the code to use React.createElement() or JSX. ↩

isMounted is an Antipattern

December 16, 2015 by Jim Sproch

As we move closer to officially deprecating isMounted, it's worth understanding why the function is an antipattern, and how to write code without the isMounted function.

The primary use case for isMounted() is to avoid calling setState() after a component has unmounted, because calling setState() after a component has unmounted will emit a warning. The “setState warning” exists to help you catch bugs, because calling setState() on an unmounted component is an indication that your app/component has somehow failed to clean up properly. Specifically, calling setState() in an unmounted component means that your app is still holding a reference to the component after the component has been unmounted - which often indicates a memory leak!

To avoid the error message, people often add lines like this:

Checking isMounted before calling setState() does eliminate the warning, but it also defeats the purpose of the warning, since now you will never get the warning (even when you should!)

Other uses of isMounted() are similarly erroneous; using isMounted() is a code smell because the only reason you would check is because you think you might be holding a reference after the component has unmounted.

An easy migration strategy for anyone upgrading their code to avoid isMounted() is to track the mounted status yourself. Just set a _isMounted property to true in componentDidMount and set it to false in componentWillUnmount. and use this variable to check your component's status.

An optimal solution would be to find places where setState() might be called after a component has unmounted, and fix them. Such situations most commonly occur due to callbacks, when a component is waiting for some data and gets unmounted before the data arrives. Ideally, any callbacks should be canceled in componentWillUnmount. prior to unmounting.

For instance, if you are using a Flux store in your component, you must unsubscribe in componentWillUnmount :

If you use ES6 promises, you may need to wrap your promise in order to make it cancelable.

React.js Conf 2016 Diversity Scholarship

I am thrilled to announced that we will be organizing another diversity scholarship program for the upcoming React.js Conf! The tech industry is suffering from a lack of diversity, but it's important to us that we have a thriving community that is made up of people with a variety of experiences and viewpoints.

When we ran this program last year, we had over 200 people apply for only 10 tickets. There were so many people that we wanted to bring in but we couldn't. The results were still awesome, and we had bright individuals from around the world attending who would have otherwise been unable to. These attendees took part in discussions at the conference and brought perspectives that we might not have otherwise seen there.

This year we're excited to bring back the scholarship, but we've set aside 40 tickets because we really believe that it's important to do our best to make sure we have an even more diverse audience.

This is something I'm personally really excited to be a part of. I know the rest of the team is as well. We're really proud to have everyone at Facebook providing support and funding for this.

The details of the scholarship are provided below (or you can go directly to the application ). I encourage you to apply! If you don't feel like you are eligible yourself, you can still help – send this along to friends, family, coworkers, acquaintances, or anybody who might be interested. And even if you haven't spoken before, please consider submitting a proposal for a talk (either 30 minutes or just 5 minutes) - we're hoping to have a very diverse group of speakers in addition to attendees.

Facebook is excited to announce that we are now accepting applications for the React.js Conf Diversity Scholarship!

Beginning today, those studying or working in computer science or a related field can apply for a partial scholarship to attend the React.js Conf in San Francisco, CA on February 22 & 23, 2016.

React opens a world of new possibilities such as server-side rendering, real-time updates, different rendering targets like SVG and canvas. React Native makes is easy to use the same concepts and technologies to build native mobile experiences on iOS and Android. Join us at React.js Conf to shape the future of client-side applications! For more information about the React.js conference, please see the website .

At Facebook, we believe that anyone anywhere can make a positive impact by developing products to make the world more open and connected to the people and things they care about. Given the current realities of the tech industry and the lack of representation of communities we seek to serve, applicants currently under-represented in Computer Science and related fields are strongly encouraged to apply. Facebook will make determinations on scholarship recipients in its sole discretion. Facebook complies with all equal opportunity laws.

To apply for the scholarship, please visit the application page: http://goo.gl/forms/PEmKj8oUp4

Award Includes #
  • Paid registration fee for the React.js Conf Feburary 22 & 23 in downtown San Francisco, CA
  • Paid lodging expenses for February 21, 22, 23
Important Dates #
  • Sunday December 13th 2015 - 11:59 PST: Applications for the React.js Conf Scholarship must be submitted in full
  • Wednesday, December 16th, 2015: Award recipients will be notified by email of their acceptance
  • Monday & Tuesday, February 22 & 23, 2016: React.js Conf